mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
USB: serial: kl5kusb105: fix line-state error handling
commit146cc8a17aupstream. The current implementation failed to detect short transfers when attempting to read the line state, and also, to make things worse, logged the content of the uninitialised heap transfer buffer. Fixes:abf492e7b3("USB: kl5kusb105: fix DMA buffers on stack") Fixes:1da177e4c3("Linux-2.6.12-rc2") Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
dfd48efcde
commit
58ede4beda
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user