summaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb/musb_virthub.c
diff options
context:
space:
mode:
authorBin Liu <b-liu@ti.com>2015-02-03 18:02:10 +0100
committerFelipe Balbi <balbi@ti.com>2015-02-04 18:16:47 +0100
commit9298b4aad37e8c6962edcdbd0b62620adb207d03 (patch)
tree485a90278ff48819369d9cd553854a0cd1d69926 /drivers/usb/musb/musb_virthub.c
parentusb: dwc2: Fix a bug in reading the endpoint directions from reg. (diff)
downloadlinux-9298b4aad37e8c6962edcdbd0b62620adb207d03.tar.xz
linux-9298b4aad37e8c6962edcdbd0b62620adb207d03.zip
usb: musb: fix device hotplug behind hub
The commit 889ad3b "usb: musb: try a race-free wakeup" breaks device hotplug enumeraitonn when the device is connected behind a hub while usb autosuspend is enabled. Adding finish_resume_work into runtime resume callback fixes the issue. Also resume root hub is required to resume the bus from runtime suspend, so move musb_host_resume_root_hub() back to its original location, where handles RESUME interrupt. Signed-off-by: Bin Liu <b-liu@ti.com> Tested-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb/musb_virthub.c')
-rw-r--r--drivers/usb/musb/musb_virthub.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_virthub.c b/drivers/usb/musb/musb_virthub.c
index 662de58630e9..294e159f4afe 100644
--- a/drivers/usb/musb/musb_virthub.c
+++ b/drivers/usb/musb/musb_virthub.c
@@ -72,7 +72,6 @@ void musb_host_finish_resume(struct work_struct *work)
musb->xceiv->otg->state = OTG_STATE_A_HOST;
spin_unlock_irqrestore(&musb->lock, flags);
- musb_host_resume_root_hub(musb);
}
void musb_port_suspend(struct musb *musb, bool do_suspend)