The sci_poll_get_char() needs to return immediately if there is no input from the chip to process, and must return a value of NO_POLL_CHAR.
This allows kgdboc to process multiple polled devices while kgdb is active. CC: Paul Mundt <[email protected]> Signed-off-by: Jason Wessel <[email protected]> --- drivers/serial/sh-sci.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index 68c7f6c..ab020eb 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c @@ -126,7 +126,11 @@ static int sci_poll_get_char(struct uart_port *port) handle_error(port); continue; } - } while (!(status & SCxSR_RDxF(port))); + break; + } while (1); + + if (!(status & SCxSR_RDxF(port))) + return NO_POLL_CHAR; c = sci_in(port, SCxRDR); -- 1.6.4.rc1 _______________________________________________ kdb mailing list [email protected] http://oss.sgi.com/mailman/listinfo/kdb
