USB: ssu100: refine process_packet in ssu100
authorBill Pemberton <wfp5p@virginia.edu>
Thu, 5 Aug 2010 21:01:06 +0000 (17:01 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 24 Aug 2010 03:50:15 +0000 (20:50 -0700)
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>
drivers/usb/serial/ssu100.c

index 2826f01..c719388 100644 (file)
@@ -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 |