diff options
-rw-r--r-- | drivers/usb/serial/mct_u232.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c index 885655315de1..edbc81f205c2 100644 --- a/drivers/usb/serial/mct_u232.c +++ b/drivers/usb/serial/mct_u232.c | |||
@@ -322,8 +322,12 @@ static int mct_u232_get_modem_stat(struct usb_serial_port *port, | |||
322 | MCT_U232_GET_REQUEST_TYPE, | 322 | MCT_U232_GET_REQUEST_TYPE, |
323 | 0, 0, buf, MCT_U232_GET_MODEM_STAT_SIZE, | 323 | 0, 0, buf, MCT_U232_GET_MODEM_STAT_SIZE, |
324 | WDR_TIMEOUT); | 324 | WDR_TIMEOUT); |
325 | if (rc < 0) { | 325 | if (rc < MCT_U232_GET_MODEM_STAT_SIZE) { |
326 | dev_err(&port->dev, "Get MODEM STATus failed (error = %d)\n", rc); | 326 | dev_err(&port->dev, "Get MODEM STATus failed (error = %d)\n", rc); |
327 | |||
328 | if (rc >= 0) | ||
329 | rc = -EIO; | ||
330 | |||
327 | *msr = 0; | 331 | *msr = 0; |
328 | } else { | 332 | } else { |
329 | *msr = buf[0]; | 333 | *msr = buf[0]; |