mirror of
https://github.com/torvalds/linux.git
synced 2024-11-05 19:41:54 +00:00
USB: shutdown all URBs after controller death
When a host controller dies, we don't need to wait for a driver to time out. We can shut down its URBs immediately. Without this change, we can end up waiting 30 seconds for a mass-storage transfer to time out. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
46865bf3d6
commit
1299cff9fa
@ -417,10 +417,11 @@ static int usb_unbind_interface(struct device *dev)
|
||||
*/
|
||||
lpm_disable_error = usb_unlocked_disable_lpm(udev);
|
||||
|
||||
/* Terminate all URBs for this interface unless the driver
|
||||
* supports "soft" unbinding.
|
||||
/*
|
||||
* Terminate all URBs for this interface unless the driver
|
||||
* supports "soft" unbinding and the device is still present.
|
||||
*/
|
||||
if (!driver->soft_unbind)
|
||||
if (!driver->soft_unbind || udev->state == USB_STATE_NOTATTACHED)
|
||||
usb_disable_interface(udev, intf, false);
|
||||
|
||||
driver->disconnect(intf);
|
||||
|
Loading…
Reference in New Issue
Block a user