diff mbox

[RFT] Remove USB bus reset delay from OHCI handover code

Message ID Pine.LNX.4.44L0.1807031437490.1513-100000@iolanthe.rowland.org (mailing list archive)
State New, archived
Headers show

Commit Message

Alan Stern July 3, 2018, 6:40 p.m. UTC
I no longer have suitable hardware for testing this patch.  If anyone 
with an OHCI host controller could try it out, I would like to hear if 
it causes any problems.

Thank you all.

Alan Stern




--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Paul Menzel Aug. 25, 2018, 7:34 a.m. UTC | #1
Dear Alan,


Am 03.07.2018 um 20:40 schrieb Alan Stern:
> I no longer have suitable hardware for testing this patch.  If anyone
> with an OHCI host controller could try it out, I would like to hear if
> it causes any problems.

Do you already have plans how to proceed with this? Did you get any replies?


Kind regards,

Paul
Alan Stern Aug. 28, 2018, 2:11 p.m. UTC | #2
On Sat, 25 Aug 2018, Paul Menzel wrote:

> Dear Alan,
> 
> 
> Am 03.07.2018 um 20:40 schrieb Alan Stern:
> > I no longer have suitable hardware for testing this patch.  If anyone
> > with an OHCI host controller could try it out, I would like to hear if
> > it causes any problems.
> 
> Do you already have plans how to proceed with this? Did you get any replies?

No response.  I'll go ahead and submit the patch.

Alan Stern
diff mbox

Patch

Index: usb-4.x/drivers/usb/host/pci-quirks.c
===================================================================
--- usb-4.x.orig/drivers/usb/host/pci-quirks.c
+++ usb-4.x/drivers/usb/host/pci-quirks.c
@@ -783,15 +783,9 @@  static void quirk_usb_handoff_ohci(struc
 	/* disable interrupts */
 	writel((u32) ~0, base + OHCI_INTRDISABLE);
 
-	/* Reset the USB bus, if the controller isn't already in RESET */
-	if (control & OHCI_HCFS) {
-		/* Go into RESET, preserving RWC (and possibly IR) */
-		writel(control & OHCI_CTRL_MASK, base + OHCI_CONTROL);
-		readl(base + OHCI_CONTROL);
-
-		/* drive bus reset for at least 50 ms (7.1.7.5) */
-		msleep(50);
-	}
+	/* Go into the USB_RESET state, preserving RWC (and possibly IR) */
+	writel(control & OHCI_CTRL_MASK, base + OHCI_CONTROL);
+	readl(base + OHCI_CONTROL);
 
 	/* software reset of the controller, preserving HcFmInterval */
 	if (!no_fminterval)