From c230d189494cb406dbaf799fafe8887de9e32ea0 Mon Sep 17 00:00:00 2001 From: Alan Stern Date: Fri, 29 Jul 2005 12:17:16 -0700 Subject: [PATCH] --- yaml --- r: 5483 b: refs/heads/master c: 86d30741e480f40676c2173e1153368a4846da48 h: refs/heads/master i: 5481: 702f10a542aa4f44a38d1d952f51815e72260cee 5479: 1bd47f7d5f39ba1ea40594a7283998615ef97828 v: v3 --- [refs] | 2 +- trunk/drivers/usb/core/message.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 139b848b8030..d983ee06b28b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a0d73c463765ce34b22ac3924d0661caf2a7539 +refs/heads/master: 86d30741e480f40676c2173e1153368a4846da48 diff --git a/trunk/drivers/usb/core/message.c b/trunk/drivers/usb/core/message.c index a428ef479bd7..88d1b376f67c 100644 --- a/trunk/drivers/usb/core/message.c +++ b/trunk/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 @@ int usb_set_configuration(struct usb_device *dev, int configuration) } } - return ret; + return 0; } // synchronous request completion model