diff options
author | Johan Hovold <jhovold@gmail.com> | 2009-10-08 05:36:46 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-10-09 16:52:05 -0400 |
commit | 9388e2e71a51fab0aa2309bbb45e8a23d89a95a9 (patch) | |
tree | 0a03b34782e751ab3666c7df796d4a85c485d129 /drivers/usb/serial/pl2303.c | |
parent | cc01f17d5cb8ac604108515735aeca72e17944c1 (diff) |
USB: pl2303: fix error characters not being reported to ldisc
Fix regression introduced by commit
d4fc4a7bfc2dee626f4fec1e209e58eaa4312de6 (tty: Fix the PL2303 private
methods for sysrq).
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/pl2303.c')
-rw-r--r-- | drivers/usb/serial/pl2303.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c index 1128e01525b1..9ec1a49e2362 100644 --- a/drivers/usb/serial/pl2303.c +++ b/drivers/usb/serial/pl2303.c | |||
@@ -1046,13 +1046,15 @@ static void pl2303_push_data(struct tty_struct *tty, | |||
1046 | /* overrun is special, not associated with a char */ | 1046 | /* overrun is special, not associated with a char */ |
1047 | if (line_status & UART_OVERRUN_ERROR) | 1047 | if (line_status & UART_OVERRUN_ERROR) |
1048 | tty_insert_flip_char(tty, 0, TTY_OVERRUN); | 1048 | tty_insert_flip_char(tty, 0, TTY_OVERRUN); |
1049 | if (port->console && port->sysrq) { | 1049 | |
1050 | if (tty_flag == TTY_NORMAL && !(port->console && port->sysrq)) | ||
1051 | tty_insert_flip_string(tty, data, urb->actual_length); | ||
1052 | else { | ||
1050 | int i; | 1053 | int i; |
1051 | for (i = 0; i < urb->actual_length; ++i) | 1054 | for (i = 0; i < urb->actual_length; ++i) |
1052 | if (!usb_serial_handle_sysrq_char(tty, port, data[i])) | 1055 | if (!usb_serial_handle_sysrq_char(tty, port, data[i])) |
1053 | tty_insert_flip_char(tty, data[i], tty_flag); | 1056 | tty_insert_flip_char(tty, data[i], tty_flag); |
1054 | } else | 1057 | } |
1055 | tty_insert_flip_string(tty, data, urb->actual_length); | ||
1056 | tty_flip_buffer_push(tty); | 1058 | tty_flip_buffer_push(tty); |
1057 | } | 1059 | } |
1058 | 1060 | ||