[PATCH 1/2] usb: serial: handle -EPROTO quietly in generic_read_bulk

From: Jeremiah Mahler
Date: Thu Dec 11 2014 - 18:31:35 EST


If a USB serial device (e.g. /dev/ttyUSB0) with an active program is
unplugged, a bunch of -EPROTO (71) error messages will be produced by
usb_serial_generic_read_bulk_callback() as it tries to resubmit the
request.

usb_serial_generic_read_bulk_callback - nonzero urb status: -71

Keep the same functionality, resubmit after an -EPROTO error, but change
message log level to debug instead of error so they are handled quietly
by default.

Signed-off-by: Jeremiah Mahler <jmmahler@xxxxxxxxx>
---
drivers/usb/serial/generic.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
index 1bd1922..98fe718 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -372,6 +372,10 @@ void usb_serial_generic_read_bulk_callback(struct urb *urb)
dev_err(&port->dev, "%s - urb stopped: %d\n",
__func__, urb->status);
return;
+ case -EPROTO:
+ dev_dbg(&port->dev, "%s - urb resubmit: %d\n",
+ __func__, urb->status);
+ goto resubmit;
default:
dev_err(&port->dev, "%s - nonzero urb status: %d\n",
__func__, urb->status);
--
2.1.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/