summaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb
diff options
context:
space:
mode:
authorAnand Gadiyar <gadiyar@ti.com>2009-02-22 00:31:40 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-02-27 23:40:51 +0100
commit5c23c9078f8e3476982409b1075b54c8cd65e82c (patch)
tree88ef3d864790626455a2e75f680799e6af76f9dc /drivers/usb/musb
parentUSB: musb: use right poll limit for low speed devices (diff)
downloadlinux-5c23c9078f8e3476982409b1075b54c8cd65e82c.tar.xz
linux-5c23c9078f8e3476982409b1075b54c8cd65e82c.zip
USB: musb: resume suspended root hub on disconnect
If this is not done, khubd will not be informed of the disconnect and will assume the device is still there. Easily seen when a hub is connected with no device attached to it; it will autosuspend. When the hub is disconnected, it still shows up in /proc/bus/usb/devices Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Acked-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/musb')
-rw-r--r--drivers/usb/musb/musb_core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index b120fdcd8894..60cbaec1aa41 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -767,6 +767,7 @@ static irqreturn_t musb_stage2_irq(struct musb *musb, u8 int_usb,
#ifdef CONFIG_USB_MUSB_HDRC_HCD
case OTG_STATE_A_HOST:
case OTG_STATE_A_SUSPEND:
+ usb_hcd_resume_root_hub(musb_to_hcd(musb));
musb_root_disconnect(musb);
if (musb->a_wait_bcon != 0)
musb_platform_try_idle(musb, jiffies