aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2012-02-10 13:20:49 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-02 09:26:54 -0700
commita4b9552b4fa34648a5017901ed8042214a9dfc03 (patch)
treeb6d2b71b88311d3b73d086da8862e042e5254d01
parenteb49cf6c6945f4fd5cb6fc1281b2ebfc34b15083 (diff)
downloadkernel_samsung_aries-a4b9552b4fa34648a5017901ed8042214a9dfc03.zip
kernel_samsung_aries-a4b9552b4fa34648a5017901ed8042214a9dfc03.tar.gz
kernel_samsung_aries-a4b9552b4fa34648a5017901ed8042214a9dfc03.tar.bz2
USB: serial: fix console error reporting
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>
-rw-r--r--drivers/usb/serial/generic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
index e4db5ad..9f0b2bf 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -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;