|
@@ -192,10 +192,11 @@ static int klsi_105_get_line_state(struct usb_serial_port *port,
|
|
|
status_buf, KLSI_STATUSBUF_LEN,
|
|
|
10000
|
|
|
);
|
|
|
- if (rc < 0)
|
|
|
- dev_err(&port->dev, "Reading line status failed (error = %d)\n",
|
|
|
- rc);
|
|
|
- else {
|
|
|
+ if (rc != KLSI_STATUSBUF_LEN) {
|
|
|
+ dev_err(&port->dev, "reading line status failed: %d\n", rc);
|
|
|
+ if (rc >= 0)
|
|
|
+ rc = -EIO;
|
|
|
+ } else {
|
|
|
status = get_unaligned_le16(status_buf);
|
|
|
|
|
|
dev_info(&port->serial->dev->dev, "read status %x %x\n",
|