3ms is just too short for dsps_musb_try_idle(), let's increase the default timeout so the function runs and does something when called with timeout == 0. Signed-off-by: Felipe Balbi <balbi@xxxxxx> --- drivers/usb/musb/musb_dsps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c index 65d931a28a14..46f704fa84a1 100644 --- a/drivers/usb/musb/musb_dsps.c +++ b/drivers/usb/musb/musb_dsps.c @@ -175,7 +175,7 @@ static void dsps_musb_try_idle(struct musb *musb, unsigned long timeout) struct dsps_glue *glue = dev_get_drvdata(dev->parent); if (timeout == 0) - timeout = jiffies + msecs_to_jiffies(3); + timeout = jiffies + msecs_to_jiffies(100); /* Never idle if active, or when VBUS timeout is not set as host */ if (musb->is_active || (musb->a_wait_bcon == 0 && -- 2.4.0.rc3 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html