浏览代码

USB: serial: ftd_sio: implement sysrq handling on break

Change driver to make use of the new functions in
include/linux/usb/serial.h so as to allow the driver to handle the
sysrq

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Jason Wessel 16 年之前
父节点
当前提交
72fda3ca6f
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      drivers/usb/serial/ftdi_sio.c

+ 6 - 2
drivers/usb/serial/ftdi_sio.c

@@ -2120,6 +2120,7 @@ static void ftdi_process_read(struct work_struct *work)
 		if (data[packet_offset+1] & FTDI_RS_BI) {
 		if (data[packet_offset+1] & FTDI_RS_BI) {
 			error_flag = TTY_BREAK;
 			error_flag = TTY_BREAK;
 			dbg("BREAK received");
 			dbg("BREAK received");
+			usb_serial_handle_break(port);
 		}
 		}
 		if (data[packet_offset+1] & FTDI_RS_PE) {
 		if (data[packet_offset+1] & FTDI_RS_PE) {
 			error_flag = TTY_PARITY;
 			error_flag = TTY_PARITY;
@@ -2134,8 +2135,11 @@ static void ftdi_process_read(struct work_struct *work)
 				/* Note that the error flag is duplicated for
 				/* Note that the error flag is duplicated for
 				   every character received since we don't know
 				   every character received since we don't know
 				   which character it applied to */
 				   which character it applied to */
-				tty_insert_flip_char(tty,
-					data[packet_offset + i], error_flag);
+				if (!usb_serial_handle_sysrq_char(port,
+						data[packet_offset + i]))
+					tty_insert_flip_char(tty,
+						data[packet_offset + i],
+						error_flag);
 			}
 			}
 			need_flip = 1;
 			need_flip = 1;
 		}
 		}