[PATCH] gdb serial debugging appears be broken since at least 2.6.28-rc6by tty layer now hopefully fixed

From: Denis Joseph Barrow
Date: Mon Jan 19 2009 - 09:55:08 EST


Hi all
I mailed this patch to linux-serial@xxxxxxxxxxxxxxx & kgdb-bugreport@xxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxx>
---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@xxxxxxxxxx
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@xxxxxxxxxx
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@xxxxxxxxxx>
---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')