USB: serial: kobil_sct: fix modem-status error handling
Make sure to return -EIO in case of a short modem-status read request.
While at it, split the debug message to not include the (zeroed)
transfer-buffer content in case of errors.
Fixes: 1da177e4c3
("Linux-2.6.12-rc2")
Signed-off-by: Johan Hovold <johan@kernel.org>
This commit is contained in:
parent
1d1de580a3
commit
a420b5d939
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user