aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2010-02-27 14:05:46 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-19 07:24:02 -0700
commit0ae1474367a15e1b65a9deed3a73a14475a419fc (patch)
treeba38aabd211496cea697eb4684d9b8ad81997ae6 /drivers/usb
parentUSB: fix usbfs regression (diff)
downloadlinux-dev-0ae1474367a15e1b65a9deed3a73a14475a419fc.tar.xz
linux-dev-0ae1474367a15e1b65a9deed3a73a14475a419fc.zip
USB: serial: fix error message on close in generic driver
Resubmitting read urb fails with -EPERM if completion handler runs while urb is being killed on close. This should not be reported as an error. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-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 89fac36684c5..e560d1d7f628 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -415,11 +415,13 @@ void usb_serial_generic_resubmit_read_urb(struct usb_serial_port *port,
((serial->type->read_bulk_callback) ?
serial->type->read_bulk_callback :
usb_serial_generic_read_bulk_callback), port);
+
result = usb_submit_urb(urb, mem_flags);
- if (result)
+ if (result && result != -EPERM) {
dev_err(&port->dev,
"%s - failed resubmitting read urb, error %d\n",
__func__, result);
+ }
}
EXPORT_SYMBOL_GPL(usb_serial_generic_resubmit_read_urb);