aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2010-05-20 22:04:23 -0400
committerJason Wessel <jason.wessel@windriver.com>2010-05-20 22:04:23 -0400
commit3f255eb37e97e97dfec7cb8d4c75d543de231812 (patch)
tree09d0c3d99bef610feba8732fcd0d78b3a47e1b9e /drivers/serial
parentf5316b4aea024da9266d740322a5481657f6ce59 (diff)
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.c6
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)
151 handle_error(port); 151 handle_error(port);
152 continue; 152 continue;
153 } 153 }
154 } while (!(status & SCxSR_RDxF(port))); 154 break;
155 } while (1);
156
157 if (!(status & SCxSR_RDxF(port)))
158 return NO_POLL_CHAR;
155 159
156 c = sci_in(port, SCxRDR); 160 c = sci_in(port, SCxRDR);
157 161