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>
Fri, 10 Feb 2012 18:20:36 +0000 (10:20 -0800)
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>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/generic.c

index f7403576f99f6d04dfc28b0018875ffc1019a019..e129fcd69fd9f6fc1f5b1440c30e29c90efc36df 100644 (file)
@@ -217,8 +217,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;