diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-03-14 05:22:37 +0100 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-03-14 05:22:37 +0100 |
commit | 0b3d4ef6fe43b75d4b2a6fc4b814cf03aa248e13 (patch) | |
tree | 213e173e10c8e95fd6f3bfb3f70c602d5d7da9d6 /drivers/serial | |
parent | sh: Fix bogus regs pointer in do_IRQ(). (diff) | |
download | linux-0b3d4ef6fe43b75d4b2a6fc4b814cf03aa248e13.tar.xz linux-0b3d4ef6fe43b75d4b2a6fc4b814cf03aa248e13.zip |
serial: Fix sh-sci break interrupt/sysrq handling.
The sh-sci sci_br_interrupt() handler was failing to call
in to uart_handle_break(), which was something that only
the SH-3 path was doing, fix that up.
Additionally, SUPPORT_SYSRQ seems to have moved down too
far, move it back to the top so uart_handle_break() and
friends aren't no-ops.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/sh-sci.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index c53b69610a51..46c40bbc4bc6 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c @@ -17,6 +17,9 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. */ +#if defined(CONFIG_SERIAL_SH_SCI_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) +#define SUPPORT_SYSRQ +#endif #undef DEBUG @@ -49,11 +52,6 @@ #endif #include <asm/sci.h> - -#if defined(CONFIG_SERIAL_SH_SCI_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) -#define SUPPORT_SYSRQ -#endif - #include "sh-sci.h" struct sci_port { @@ -645,6 +643,9 @@ static inline int sci_handle_breaks(struct uart_port *port) struct tty_struct *tty = port->info->tty; struct sci_port *s = &sci_ports[port->line]; + if (uart_handle_break(port)) + return 0; + if (!s->break_flag && status & SCxSR_BRK(port)) { #if defined(CONFIG_CPU_SH3) /* Debounce break */ |