From db4bd663ea5894d516f75d7a5973303998247f91 Mon Sep 17 00:00:00 2001 From: Grazvydas Ignotas Date: Sat, 23 Mar 2013 02:47:28 +0200 Subject: [PATCH] usb: otg: twl4030-usb: delay status read On CC pandora after host cable replug, not only ID but also VBUS bit gets set for whatever reason too (this is not the case on 1GHz). What's even worse, on ID bit is even delayed and is_driving_vbus() won't work because PHY is off, so the driver wrongly thinks VBUS is suppled by something. Must delay HW_CONDITIONS read to avoid this.. --- drivers/usb/otg/twl4030-usb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/otg/twl4030-usb.c b/drivers/usb/otg/twl4030-usb.c index 1527f702eabc..296e5537c76e 100644 --- a/drivers/usb/otg/twl4030-usb.c +++ b/drivers/usb/otg/twl4030-usb.c @@ -285,6 +285,7 @@ static enum usb_xceiv_events twl4030_usb_linkstat(struct twl4030_usb *twl) * signal is active, the OTG module is activated, and * its interrupt may be raised (may wake the system). */ + msleep(50); status = twl4030_readb(twl, TWL4030_MODULE_PM_MASTER, STS_HW_CONDITIONS); if (status < 0) -- 2.39.2