Messages in this thread Patches in this message | | | Date | Mon, 19 Jan 2009 15:41:55 +0100 | From | Denis Joseph Barrow <> | Subject | [PATCH] gdb serial debugging appears be broken since at least 2.6.28-rc6 by tty layer now hopefully fixed |
| |
Hi all I mailed this patch to linux-serial@vger.kernel.org & kgdb-bugreport@lists.sourceforge.net but I received no comment on it one way or the other the patch is neccessary to get kgdb going over the serial port.
I changed the code back to something it was like in 2.6.27-rc6 & it now works again.
Changed tty_find_polling driver back to something close to 2.6.27-rc6 the new stuff broke kgdb when used with the usual kgdboc=/dev/ttyS0,115200 parameter & similar. Signed-off-by: Denis Joseph Barrow <D.Barow@option.com> ---Index: linux-2.6/drivers/char/tty_io.c =================================================================== Index: linux-2.6/drivers/char/tty_io.c =================================================================== --- linux-2.6.orig/drivers/char/tty_io.c 2009-01-16 16:41:41.000000000 +0100 +++ linux-2.6/drivers/char/tty_io.c 2009-01-16 16:43:59.000000000 +0100 @@ -294,23 +294,13 @@ { struct tty_driver *p, *res = NULL; int tty_line = 0; - int len; char *str; - for (str = name; *str; str++) - if ((*str >= '0' && *str <= '9') || *str == ',') - break; - if (!*str) - return NULL; - - len = str - name; - tty_line = simple_strtoul(str, &str, 10); - mutex_lock(&tty_mutex); /* Search through the tty devices to look for a match */ list_for_each_entry(p, &tty_drivers, tty_drivers) { - if (strncmp(name, p->name, len) != 0) - continue; + str = name + strlen(p->name); + tty_line = simple_strtoul(str, &str, 10); if (*str == ',') str++; if (*str == '\0')
best regards, D.J. Barrow
Linux Kernel Developer Option NV, Gaston Geenslaan 14, 3001 Leuven, Belgium
T: +32 16 311 621 F: +32 16 207 164 d.barow@option.com www.option.com
Disclaimer: http://www.option.com/company/disclaimer.shtml
-- best regards, D.J. Barrow
Linux Kernel Developer Option NV, Gaston Geenslaan 14, 3001 Leuven, Belgium
T: +32 16 311 621 F: +32 16 207 164 d.barow@option.com www.option.com
Disclaimer: http://www.option.com/company/disclaimer.shtml Changed tty_find_polling driver back to something close to 2.6.27-rc6 the new stuff broke kgdb when used with the usual kgdboc=/dev/ttyS0,115200 parameter & similar. Signed-off-by: Denis Joseph Barrow <D.Barow@option.com> ---Index: linux-2.6/drivers/char/tty_io.c =================================================================== Index: linux-2.6/drivers/char/tty_io.c =================================================================== --- linux-2.6.orig/drivers/char/tty_io.c 2009-01-16 16:41:41.000000000 +0100 +++ linux-2.6/drivers/char/tty_io.c 2009-01-16 16:43:59.000000000 +0100 @@ -294,23 +294,13 @@ { struct tty_driver *p, *res = NULL; int tty_line = 0; - int len; char *str; - for (str = name; *str; str++) - if ((*str >= '0' && *str <= '9') || *str == ',') - break; - if (!*str) - return NULL; - - len = str - name; - tty_line = simple_strtoul(str, &str, 10); - mutex_lock(&tty_mutex); /* Search through the tty devices to look for a match */ list_for_each_entry(p, &tty_drivers, tty_drivers) { - if (strncmp(name, p->name, len) != 0) - continue; + str = name + strlen(p->name); + tty_line = simple_strtoul(str, &str, 10); if (*str == ',') str++; if (*str == '\0')
| |