diff options
| author | Steve French <sfrench@us.ibm.com> | 2005-08-02 21:20:47 -0700 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2005-08-02 21:20:47 -0700 |
| commit | bcf7e34a71afe24dc210b7825f6f139774cb905c (patch) | |
| tree | d81a8f89eb103290ae70008fde185c068d9f7a4f /drivers/usb/core/message.c | |
| parent | eda3c029899cbf435d76fea43b7e1404439ccec9 (diff) | |
| parent | 688d191821de7893043f5a37970472627aaffa4e (diff) | |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'drivers/usb/core/message.c')
| -rw-r--r-- | drivers/usb/core/message.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index a428ef479bd7..88d1b376f67c 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -985,8 +985,10 @@ void usb_disable_device(struct usb_device *dev, int skip_ep0) for (i = 0; i < dev->actconfig->desc.bNumInterfaces; i++) { struct usb_interface *interface; - /* remove this interface */ + /* remove this interface if it has been registered */ interface = dev->actconfig->interface[i]; + if (!klist_node_attached(&interface->dev.knode_bus)) + continue; dev_dbg (&dev->dev, "unregistering interface %s\n", interface->dev.bus_id); usb_remove_sysfs_intf_files(interface); @@ -1439,7 +1441,7 @@ free_interfaces: } } - return ret; + return 0; } // synchronous request completion model |
