From: Alan Stern Date: Thu, 14 Aug 2008 03:55:09 +0000 (+0000) Subject: USB: fix interface unregistration logic X-Git-Tag: v2.6.26.3~47 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6fc7a3dba12db360e506b28c1660d1eb72403530;p=platform%2Fkernel%2Flinux-stable.git USB: fix interface unregistration logic commit 1a21175a615ed346e8043f5e9d60a672266b84b4 upstream This patch (as1122) fixes a bug: When an interface is unregistered, its children (sysfs files and endpoint devices) are unregistered after it instead of before. Signed-off-by: Alan Stern Tested-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index fe47d145255a..2fdbc10ddfc1 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -1091,8 +1091,8 @@ void usb_disable_device(struct usb_device *dev, int skip_ep0) continue; dev_dbg(&dev->dev, "unregistering interface %s\n", interface->dev.bus_id); - device_del(&interface->dev); usb_remove_sysfs_intf_files(interface); + device_del(&interface->dev); } /* Now that the interfaces are unbound, nobody should