]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
[PATCH] SPARC: Linux always started with 9600 8N1
authorJan Engelhardt <jengelh@gmx.de>
Thu, 7 Jun 2007 05:49:14 +0000 (22:49 -0700)
committerChris Wright <chrisw@sous-sol.org>
Mon, 11 Jun 2007 18:36:52 +0000 (11:36 -0700)
The Linux kernel ignored the PROM's serial settings (115200,n,8,1 in
my case). This was because mode_prop remained "ttyX-mode" (expected:
"ttya-mode") due to the constness of string literals when used with
"char *". Since there is no "ttyX-mode" property in the PROM, Linux
always used the default 9600.

[ Investigation of the suncore.s assembler reveals that gcc optimizied
  away the stores, yet did not emit a warning, which is a pretty
  anti-social thing to do and is the only reason this bug lived for
  so long -DaveM ]

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/serial/suncore.c

index e35d9ab359f156313f37b4d728b72cbe78fd7a24..b45ba5392dd362941e12770edcf12c5671e590b2 100644 (file)
@@ -30,9 +30,9 @@ void
 sunserial_console_termios(struct console *con)
 {
        char mode[16], buf[16], *s;
-       char *mode_prop = "ttyX-mode";
-       char *cd_prop = "ttyX-ignore-cd";
-       char *dtr_prop = "ttyX-rts-dtr-off";
+       char mode_prop[] = "ttyX-mode";
+       char cd_prop[]   = "ttyX-ignore-cd";
+       char dtr_prop[]  = "ttyX-rts-dtr-off";
        char *ssp_console_modes_prop = "ssp-console-modes";
        int baud, bits, stop, cflag;
        char parity;