From: Johan Hovold Date: Sat, 27 Feb 2010 13:06:07 +0000 (+0100) Subject: USB: serial: fix softint not being called on errors X-Git-Tag: 2.1b_release~8838^2~42 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6313620228624ff4dcb78b1dbd459d0c208df126;p=platform%2Fkernel%2Fkernel-mfld-blackbay.git USB: serial: fix softint not being called on errors Make sure usb_serial_port_softint is called on errors also when using multi urb writes. Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c index e560d1d..214bf25 100644 --- a/drivers/usb/serial/generic.c +++ b/drivers/usb/serial/generic.c @@ -500,23 +500,18 @@ void usb_serial_generic_write_bulk_callback(struct urb *urb) if (port->urbs_in_flight < 0) port->urbs_in_flight = 0; spin_unlock_irqrestore(&port->lock, flags); - - if (status) { - dbg("%s - nonzero multi-urb write bulk status " - "received: %d", __func__, status); - return; - } } else { port->write_urb_busy = 0; - if (status) { - dbg("%s - nonzero multi-urb write bulk status " - "received: %d", __func__, status); + if (status) kfifo_reset_out(&port->write_fifo); - } else + else usb_serial_generic_write_start(port); } + if (status) + dbg("%s - non-zero urb status: %d", __func__, status); + usb_serial_port_softint(port); } EXPORT_SYMBOL_GPL(usb_serial_generic_write_bulk_callback);