|
@@ -393,12 +393,20 @@ static int kobil_tiocmget(struct tty_struct *tty)
|
|
|
transfer_buffer_length,
|
|
|
KOBIL_TIMEOUT);
|
|
|
|
|
|
- dev_dbg(&port->dev, "%s - Send get_status_line_state URB returns: %i. Statusline: %02x\n",
|
|
|
- __func__, result, transfer_buffer[0]);
|
|
|
+ dev_dbg(&port->dev, "Send get_status_line_state URB returns: %i\n",
|
|
|
+ result);
|
|
|
+ if (result < 1) {
|
|
|
+ if (result >= 0)
|
|
|
+ result = -EIO;
|
|
|
+ goto out_free;
|
|
|
+ }
|
|
|
+
|
|
|
+ dev_dbg(&port->dev, "Statusline: %02x\n", transfer_buffer[0]);
|
|
|
|
|
|
result = 0;
|
|
|
if ((transfer_buffer[0] & SUSBCR_GSL_DSR) != 0)
|
|
|
result = TIOCM_DSR;
|
|
|
+out_free:
|
|
|
kfree(transfer_buffer);
|
|
|
return result;
|
|
|
}
|