| From stable-bounces@linux.kernel.org Wed Jun 6 22:49:03 2007 |
| Date: Wed, 06 Jun 2007 22:49:14 -0700 (PDT) |
| Message-Id: <20070606.224914.26966192.davem@davemloft.net> |
| To: stable@kernel.org |
| From: David Miller <davem@davemloft.net> |
| Cc: bunk@stusta.de |
| Subject: SPARC: Linux always started with 9600 8N1 |
| |
| From: Jan Engelhardt <jengelh@gmx.de> |
| |
| 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 | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| --- linux-2.6.21.4.orig/drivers/serial/suncore.c |
| +++ linux-2.6.21.4/drivers/serial/suncore.c |
| @@ -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; |