From 32baf6090ed42140fd73bcc3d9872aa8b5e85f84 Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Mon, 27 Aug 2007 00:04:30 -0700 Subject: [PATCH] musb_hdrc: Fix OPT A error "B-OPT Did not detect reset after connecting" Fix OPT A error "B-OPT Did not detect reset after connecting" hub 1-0:1.0: hub_suspend usb usb1: suspend fail, err -16 usb usb1: 'global' suspend -16 hub 1-0:1.0: activate --> -108 Signed-off-by: Tony Lindgren --- drivers/usb/musb/musb_core.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index f86fdcc339d..078e8856970 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -341,6 +341,14 @@ void musb_hnp_stop(struct musb *musb) DBG(1, "HNP: Stopping in unknown state %s\n", otg_state_string(musb)); } + + /* + * When returning to A state after HNP, avoid hub_port_rebounce(), + * which cause occasional OPT A "Did not receive reset after connect" + * errors. + */ + musb->port1_status &= + ~(1 << USB_PORT_FEAT_C_CONNECTION); } #endif -- 2.41.1