Hello.

    We've found out that drivers/serial/serial_core.c had a call to 
kgdb8250_add_port() from uart_add_one_port() and that didn't work for us 
anyway until the subsequent call to kgdb8250_add_platform_port() call was 
added to the platform code. I think we have several issues with this call:

1) as this call is made late enough, kgdb_init_io() in 8250_kgdb.c has been 
already called by this time and has assigned the current_port which causes 
kgdb8250_add_port() to just skip updating the data for this port -- that's why
this callout doesn't actually work;

2) the check that is used to decide on the need to call kgdb8250_add_port() is 
too simplistic: for example, it will pass to 8250_kgdb.c even the UARTs that 
it's unable to adequately handle but which all have a type of PORT_16550A (but 
iotype of UPIO_MEM32 or UPIO_AU).

3) this call is simply misplaced -- it should have been added to 8250.c driver 
(however, it wouldn't work anyway), otherwise it's a layering violation;

4) this call effectively causes the same UART to be registered twice if the 
platform code calls kgdb8250_add[_platform]_port() explicitly (as it should do).

WBR, Sergei


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Kgdb-bugreport mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport

Reply via email to