diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2010-05-20 21:04:23 -0500 |
---|---|---|
committer | Jason Wessel <jason.wessel@windriver.com> | 2010-05-20 21:04:23 -0500 |
commit | 3f255eb37e97e97dfec7cb8d4c75d543de231812 (patch) | |
tree | 09d0c3d99bef610feba8732fcd0d78b3a47e1b9e /drivers/serial | |
parent | f5316b4aea024da9266d740322a5481657f6ce59 (diff) | |
download | linux-3f255eb37e97e97dfec7cb8d4c75d543de231812.tar.bz2 |
sh,sh-sci: Use NO_POLL_CHAR in the SCIF polled console code
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.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | 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 8d993c4cceac..f250a610a268 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c @@ -151,7 +151,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); |