Skip to contentSkip to conversation

musb_hdrc: Fix OPT A error "B-OPT Did not detect reset after connecting"

PATCH Tony Lindgren 1 participant 1 message Aug 24, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi all,

This seems to fix some random OPT failures.

Tony

From: Tony Lindgren <[email protected]>
Subject: 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

drivers/usb/musb/musb_core.c +8 -0
Index: linux-selene/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