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 <[email protected]>
---
 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to