USB: serial: fix console error reporting
authorJohan Hovold <jhovold@gmail.com>
Fri, 10 Feb 2012 12:20:49 +0000 (13:20 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Apr 2012 16:52:31 +0000 (09:52 -0700)
commit 548dd4b6da8a8e428453d55f7fa7b8a46498d147 upstream.

Do not report errors in write path if port is used as a console as this
may trigger the same error (and error report) resulting in a loop.

Reported-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/generic.c

index e4db5ad..9f0b2bf 100644 (file)
@@ -215,8 +215,10 @@ retry:
        clear_bit(i, &port->write_urbs_free);
        result = usb_submit_urb(urb, GFP_ATOMIC);
        if (result) {
-               dev_err(&port->dev, "%s - error submitting urb: %d\n",
+               if (!port->port.console) {
+                       dev_err(&port->dev, "%s - error submitting urb: %d\n",
                                                __func__, result);
+               }
                set_bit(i, &port->write_urbs_free);
                spin_lock_irqsave(&port->lock, flags);
                port->tx_bytes -= count;