Detect usb device shutdown and ignore failed urbs. This happens when the driver 
is unloaded or the device is unplugged.

Signed-off-by: Simon Arlott <[EMAIL PROTECTED]>
---
 drivers/usb/atm/usbatm.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c
index 83cea01..1f5faee 100644
--- a/drivers/usb/atm/usbatm.c
+++ b/drivers/usb/atm/usbatm.c
@@ -274,6 +274,10 @@ static void usbatm_complete(struct urb *
                        (!(channel->usbatm->flags & UDSL_IGNORE_EILSEQ) ||
                         urb->status != -EILSEQ ))
        {
+               /* the module/device has probably been removed */
+               if (urb->status == -ESHUTDOWN)
+                       return;
+
                if (printk_ratelimit())
                        atm_warn(channel->usbatm, "%s: urb 0x%p failed (%d)!\n",
                                __func__, urb, urb->status);
-- 
1.4.3.1


-- 
Simon Arlott

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to