Commit 9d36976f authored by YAMANE Toshiaki's avatar YAMANE Toshiaki Committed by Greg Kroah-Hartman

staging/serqt_usb2: Refactor qt_status_change_check() in serqt_usb2.c

Modify qt_status_change_check() and delete qt_status_change().
Signed-off-by: default avatarYAMANE Toshiaki <yamanetoshi@gmail.com>
Acked-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 27cf2d1b
......@@ -291,33 +291,6 @@ static void qt_interrupt_callback(struct urb *urb)
/* FIXME */
}
static int qt_status_change(unsigned int limit,
unsigned char *data,
int i,
struct quatech_port *qt_port,
struct usb_serial_port *port)
{
void (*fn)(struct quatech_port *, unsigned char);
if (0x00 == data[i + 2]) {
dev_dbg(&port->dev, "Line status status.\n");
fn = ProcessLineStatus;
} else {
dev_dbg(&port->dev, "Modem status status.\n");
fn = ProcessModemStatus;
}
if (i > limit) {
dev_dbg(&port->dev,
"Illegal escape seuences in received data\n");
return 0;
}
(*fn)(qt_port, data[i + 3]);
return 1;
}
static void qt_status_change_check(struct tty_struct *tty,
struct urb *urb,
struct quatech_port *qt_port,
......@@ -334,11 +307,29 @@ static void qt_status_change_check(struct tty_struct *tty,
flag = 0;
switch (data[i + 2]) {
case 0x00:
if (i > (RxCount - 4)) {
dev_dbg(&port->dev,
"Illegal escape seuences in received data\n");
break;
}
ProcessLineStatus(qt_port, data[i + 3]);
i += 3;
flag = 1;
break;
case 0x01:
flag = qt_status_change((RxCount - 4), data, i,
qt_port, port);
if (flag == 1)
i += 3;
if (i > (RxCount - 4)) {
dev_dbg(&port->dev,
"Illegal escape seuences in received data\n");
break;
}
ProcessModemStatus(qt_port, data[i + 3]);
i += 3;
flag = 1;
break;
case 0xff:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment