diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index 1083585fad003ecee9e67ec0c70655f5482e085f..3c3ed77a55bb974853a22ef8e9545465379209dc 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -462,6 +462,8 @@ static int __devinit ci_hdrc_probe(struct platform_device *pdev) if (ci->roles[CI_ROLE_HOST] && ci->roles[CI_ROLE_GADGET]) { ci->is_otg = true; + /* ID pin needs 1ms debouce time, we delay 2ms for safe */ + mdelay(2); ci->role = ci_otg_role(ci); } else { ci->role = ci->roles[CI_ROLE_HOST]