diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-05 13:29:52 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-05 13:29:52 +0800 |
commit | b70653544136b9c79960289b64e147739dbf8f3c (patch) | |
tree | a6a4191d38eb336939fd6ced1ec4afe12fd5838e /drivers/usb/core/hub.c | |
parent | c095ba7224d8edc71dcef0d655911399a8bd4a3f (diff) | |
parent | 008eb957dafea32bac993be5cbeaf4ca0ee8b0aa (diff) |
Merge tag 'for-usb-linus-2013-07-31' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-linus
Sarah writes:
xhci: Misc bug fixes for 3.11.
Hi Greg,
Here's two small fixes for 3.11. The first patch fixes a 5 second hang in
khubd after a USB device disconnect on some xHCI hosts. The second fixes a
build warning.
Sarah Sharp
Diffstat (limited to 'drivers/usb/core/hub.c')
-rw-r--r-- | drivers/usb/core/hub.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 4a8a1d68002c..558313de4911 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -4798,7 +4798,8 @@ static void hub_events(void) hub->ports[i - 1]->child; dev_dbg(hub_dev, "warm reset port %d\n", i); - if (!udev) { + if (!udev || !(portstatus & + USB_PORT_STAT_CONNECTION)) { status = hub_port_reset(hub, i, NULL, HUB_BH_RESET_TIME, true); @@ -4808,8 +4809,8 @@ static void hub_events(void) usb_lock_device(udev); status = usb_reset_device(udev); usb_unlock_device(udev); + connect_change = 0; } - connect_change = 0; } if (connect_change) |