From: Jan Engelhardt Date: Sun, 22 Jul 2007 15:44:18 +0000 (+0200) Subject: [SPARC]: Linux always started with 9600 8N1 X-Git-Tag: v2.6.16.53-rc1~12 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=28cbc66ccc0fa838789ad01fabee9b25740f7468;p=karo-tx-linux.git [SPARC]: Linux always started with 9600 8N1 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 Signed-off-by: David S. Miller Signed-off-by: Adrian Bunk --- diff --git a/drivers/serial/suncore.c b/drivers/serial/suncore.c index fa4ae94243c2..adf505a67e2e 100644 --- a/drivers/serial/suncore.c +++ b/drivers/serial/suncore.c @@ -31,9 +31,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;