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