USB: serial: fix error message on close in generic driver
Johan Hovold [Sat, 27 Feb 2010 13:05:46 +0000 (14:05 +0100)]
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>

drivers/usb/serial/generic.c

index 89fac36..e560d1d 100644 (file)
@@ -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);