diff options
author | Bill Pemberton <wfp5p@virginia.edu> | 2010-08-05 23:01:06 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-08-24 05:50:15 +0200 |
commit | 9b2cef31f2823558eb92a35624d37439599f3f9f (patch) | |
tree | a0204b8573ef9695bed6db1373b671d055c5ced9 | |
parent | USB: ssu100: add locking for port private data in ssu100 (diff) | |
download | linux-9b2cef31f2823558eb92a35624d37439599f3f9f.tar.xz linux-9b2cef31f2823558eb92a35624d37439599f3f9f.zip |
USB: ssu100: refine process_packet in ssu100
The status information does not appear at the start of each incoming
packet so the check for len < 4 at the start of ssu100_process_packet
is wrong. Remove it.
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/usb/serial/ssu100.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/usb/serial/ssu100.c b/drivers/usb/serial/ssu100.c index 2826f013752d..c7193880a2b6 100644 --- a/drivers/usb/serial/ssu100.c +++ b/drivers/usb/serial/ssu100.c @@ -575,12 +575,8 @@ static int ssu100_process_packet(struct tty_struct *tty, dbg("%s - port %d", __func__, port->number); - if (len < 4) { - dbg("%s - malformed packet", __func__); - return 0; - } - - if ((packet[0] == 0x1b) && (packet[1] == 0x1b) && + if ((len >= 4) && + (packet[0] == 0x1b) && (packet[1] == 0x1b) && ((packet[2] == 0x00) || (packet[2] == 0x01))) { if (packet[2] == 0x00) priv->shadowLSR = packet[3] & (SERIAL_LSR_OE | |