From: Benoit Goby Date: Tue, 31 Aug 2010 23:36:14 +0000 (-0700) Subject: usb: host: ehci-hub: Add port_reset_no_wait quirk X-Git-Tag: firefly_0821_release~9833^2~235 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6e9b65b7d1cfc9d560f1431a862b636acad4d430;p=firefly-linux-kernel-4.4.55.git usb: host: ehci-hub: Add port_reset_no_wait quirk Tegra quirk: The PORT_RESET bit in PORTSC1 does not need to be cleared and there is no need to wait for it to clear. The bit will automatically change to 0 when the bus-reset sequence is done and an interrupt will be generated. Change-Id: I645417013af46785a249096ebc06a1f688228d94 Signed-off-by: Benoit Goby --- diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index 796ea0c8900f..e33e78cbde00 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -900,6 +900,7 @@ static int ehci_hub_control ( /* whoever resets must GetPortStatus to complete it!! */ if ((temp & PORT_RESET) + && !ehci->port_reset_no_wait && time_after_eq(jiffies, ehci->reset_done[wIndex])) { status |= USB_PORT_STAT_C_RESET << 16; diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index 3de86c1debd2..9dd486abd621 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h @@ -132,6 +132,7 @@ struct ehci_hcd { /* one per controller */ unsigned broken_periodic:1; unsigned fs_i_thresh:1; /* Intel iso scheduling */ unsigned controller_resets_phy:1; + unsigned port_reset_no_wait:1; /* required for usb32 quirk */ #define OHCI_CTRL_HCFS (3 << 6)