From: Richard Zhao <richard.zhao@xxxxxxxxxxxxx> The ID pin needs 1ms debounce time, even at probe time. We delay 2ms to be on the safe side. Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Tested-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Richard Zhao <richard.zhao@xxxxxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> --- drivers/usb/chipidea/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index 1083585..3c3ed77 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] -- 1.7.10.4 -- 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