aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/serial/ssu100.c8
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,
575 575
576 dbg("%s - port %d", __func__, port->number); 576 dbg("%s - port %d", __func__, port->number);
577 577
578 if (len < 4) { 578 if ((len >= 4) &&
579 dbg("%s - malformed packet", __func__); 579 (packet[0] == 0x1b) && (packet[1] == 0x1b) &&
580 return 0;
581 }
582
583 if ((packet[0] == 0x1b) && (packet[1] == 0x1b) &&
584 ((packet[2] == 0x00) || (packet[2] == 0x01))) { 580 ((packet[2] == 0x00) || (packet[2] == 0x01))) {
585 if (packet[2] == 0x00) 581 if (packet[2] == 0x00)
586 priv->shadowLSR = packet[3] & (SERIAL_LSR_OE | 582 priv->shadowLSR = packet[3] & (SERIAL_LSR_OE |