linux-stable/drivers/usb/host
Changming Huang 9d4b827063 fsl/usb: Workarourd for USB erratum-A005697
The EHCI specification states the following in the SUSP bit description:
In the Suspend state, the port is sensitive to resume detection.
Note that the bit status does not change until the port is suspended and
that there may be a delay in suspending a port if there is a transaction
currently in progress on the USB.

However, in NXP USBDR controller, the PORTSCx[SUSP] bit changes immediately
when the application sets it and not when the port is actually suspended.

So the application must wait for at least 10 milliseconds after a port
indicates that it is suspended, to make sure this port has entered
suspended state before initiating this port resume using the Force Port
Resume bit. This bit is for NXP controller, not EHCI compatible.

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-12-05 15:13:58 +01:00
..
whci whci: Remove deprecated create_singlethread_workqueue 2016-08-15 16:25:58 +02:00
bcma-hcd.c USB: bcma: drop Northstar PHY 2.0 initialization code 2016-09-27 12:20:17 +02:00
ehci-atmel.c usb: ehci-atmel: use __maybe_unused to hide pm functions 2016-03-03 20:37:41 -08:00
ehci-dbg.c USB: EHCI: make all debugging depend on CONFIG_DYNAMIC_DEBUG 2016-04-29 15:31:30 -07:00
ehci-exynos.c usb/host/: const data must use __initconst not __initdata 2016-04-28 12:35:36 -07:00
ehci-fsl.c fsl/usb: Workarourd for USB erratum-A005697 2016-12-05 15:13:58 +01:00
ehci-fsl.h
ehci-grlib.c
ehci-hcd.c USB: host: ehci-sead3: Remove SEAD-3 EHCI code 2016-10-05 01:31:20 +02:00
ehci-hub.c fsl/usb: Workarourd for USB erratum-A005697 2016-12-05 15:13:58 +01:00
ehci-mem.c
ehci-msm.c usb: host: ehci-msm: Conditionally call ehci suspend/resume 2016-06-07 22:15:25 -07:00
ehci-mv.c
ehci-mxc.c
ehci-omap.c usb/host/: const data must use __initconst not __initdata 2016-04-28 12:35:36 -07:00
ehci-orion.c
ehci-pci.c USB: EHCI: merge all cases that disable the IO watchdog 2016-10-24 14:36:25 +02:00
ehci-platform.c usb: ehci-platform: increase EHCI_MAX_RSTS to 4 2016-10-24 14:29:08 +02:00
ehci-pmcmsp.c
ehci-ppc-of.c
ehci-ps3.c
ehci-q.c usb: host: ehci: remove unnecessary max_packet() macro 2016-11-03 10:38:24 +02:00
ehci-sched.c usb: host: ehci: remove unnecessary max_packet() macro 2016-11-03 10:38:24 +02:00
ehci-sh.c
ehci-spear.c usb/host/: const data must use __initconst not __initdata 2016-04-28 12:35:36 -07:00
ehci-st.c usb: host: ehci-st: Inform the reset framework that our reset line may be shared 2016-06-30 07:44:21 +01:00
ehci-sysfs.c
ehci-tegra.c usb: host: ehci-tegra: Avoid getting the same reset twice 2016-06-07 22:15:25 -07:00
ehci-tilegx.c
ehci-timer.c USB: EHCI: add a delay when unlinking an active QH 2016-02-03 13:14:52 -08:00
ehci-w90x900.c USB: EHCI: ehci-w90x900: remove unuseful functions 2016-11-29 17:36:43 +01:00
ehci-xilinx-of.c
ehci.h fsl/usb: Workarourd for USB erratum-A005697 2016-12-05 15:13:58 +01:00
fhci-dbg.c
fhci-hcd.c usb: host: fhci-hcd: don't print on ENOMEM 2016-08-30 19:17:37 +02:00
fhci-hub.c QE: Move QE from arch/powerpc to drivers/soc 2015-12-22 17:12:56 -06:00
fhci-mem.c
fhci-q.c
fhci-sched.c USB: FHCI: avoid redundant condition 2016-05-09 13:08:46 +02:00
fhci-tds.c usb: whci: fhci: remove comparison to bool 2015-12-04 08:25:58 -08:00
fhci.h QE: Move QE from arch/powerpc to drivers/soc 2015-12-22 17:12:56 -06:00
fotg210-hcd.c usb/host/fotg210: remove dead code in create_sysfs_files 2016-05-09 13:08:46 +02:00
fotg210.h
fsl-mph-dr-of.c fsl/usb: Workarourd for USB erratum-A005697 2016-12-05 15:13:58 +01:00
hwa-hc.c
imx21-dbg.c
imx21-hcd.c
imx21-hcd.h
isp116x-hcd.c
isp116x.h
isp1362-hcd.c usb: Convert pr_warning to pr_warn 2016-11-03 10:38:36 +02:00
isp1362.h
Kconfig USB: OHCI: make ohci-da8xx a separate driver 2016-10-27 16:59:59 +02:00
Makefile USB: OHCI: make ohci-da8xx a separate driver 2016-10-27 16:59:59 +02:00
max3421-hcd.c usb: host: max3421-hcd: don't print on ENOMEM 2016-08-30 19:17:37 +02:00
ohci-at91.c Merge 4.9-rc3 into usb-next 2016-10-30 06:40:39 -04:00
ohci-da8xx.c USB: ohci: da8xx: Resume the entire host controller 2016-11-29 17:31:36 +01:00
ohci-dbg.c
ohci-exynos.c
ohci-hcd.c Merge 4.9-rc3 into usb-next 2016-10-30 06:40:39 -04:00
ohci-hub.c
ohci-mem.c USB: OHCI: use dma_pool_zalloc 2016-11-21 17:33:40 +01:00
ohci-nxp.c usb: ohci: nxp: remove USB PLL and USB OTG clock management 2016-03-03 20:38:53 -08:00
ohci-omap.c USB: ohci-omap - avoid including mach/irqs.h 2016-08-30 19:31:33 +02:00
ohci-omap3.c
ohci-pci.c
ohci-platform.c ohci-platform: Add support for controllers with multiple reset lines 2016-06-07 22:21:41 -07:00
ohci-ppc-of.c
ohci-ps3.c
ohci-pxa27x.c usb: host: ohci-pxa27x: propagate the irq error code 2016-02-14 17:06:43 -08:00
ohci-q.c USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails 2016-06-07 22:15:25 -07:00
ohci-s3c2410.c usb: ohci: s3c2410: allow probing from device tree 2016-11-29 17:31:36 +01:00
ohci-sa1111.c usb: ohci-sa1111: remove mach/hardware.h include 2016-08-30 19:24:59 +02:00
ohci-sm501.c
ohci-spear.c
ohci-st.c usb: host: ohci-st: Inform the reset framework that our reset line may be shared 2016-06-30 07:44:20 +01:00
ohci-tilegx.c
ohci-tmio.c
ohci.h usb: host: unhide suspend/resume declarations 2016-03-03 20:37:41 -08:00
oxu210hp-hcd.c usb: host: oxu210hp-hcd: use list_for_each_entry_safe 2016-01-24 20:55:33 -08:00
oxu210hp.h
pci-quirks.c drivers/usb: Skip auto handoff for TI and RENESAS usb controllers 2016-11-07 10:12:22 +01:00
pci-quirks.h
r8a66597-hcd.c usb: r8a66597: add locking to r8a66597_check_detect_child 2016-02-06 21:55:57 -08:00
r8a66597.h
sl811-hcd.c
sl811.h
sl811_cs.c
ssb-hcd.c
u132-hcd.c usb: host: u132-hcd: use list_for_each_entry 2016-01-24 20:55:33 -08:00
uhci-debug.c new helpers: no_seek_end_llseek{,_size}() 2015-12-23 10:41:31 -05:00
uhci-grlib.c
uhci-hcd.c usb: host: uhci-hcd: don't print on ENOMEM 2016-08-30 19:17:37 +02:00
uhci-hcd.h
uhci-hub.c
uhci-pci.c
uhci-platform.c
uhci-q.c
xhci-dbg.c
xhci-ext-caps.h xhci: harden xhci_find_next_ext_cap against device removal 2016-02-04 17:00:10 -08:00
xhci-hub.c xhci: use default USB_RESUME_TIMEOUT when resuming ports. 2016-10-20 17:54:55 +02:00
xhci-mem.c usb: patches for v4.10 merge window 2016-11-18 16:02:15 +01:00
xhci-mtk-sch.c usb: host: xhci: purge GET_MAX_PACKET() 2016-11-03 10:38:22 +02:00
xhci-mtk.c usb: xhci-mtk: make IPPC register optional 2016-10-27 17:02:41 +02:00
xhci-mtk.h usb: xhci-mtk: make IPPC register optional 2016-10-27 17:02:41 +02:00
xhci-mvebu.c usb: host: xhci: plat: change type of mvebu init_quirk() 2016-04-26 16:08:02 -07:00
xhci-mvebu.h usb: host: xhci: plat: change type of mvebu init_quirk() 2016-04-26 16:08:02 -07:00
xhci-pci.c xhci: workaround for hosts missing CAS bit 2016-10-20 17:54:55 +02:00
xhci-plat.c usb: host: xhci: plat: add support for Renesas r8a7796 SoC 2016-11-14 10:18:22 +01:00
xhci-plat.h usb: host: xhci: plat: finally get rid of xhci_plat_type_is() 2016-04-26 16:08:02 -07:00
xhci-rcar.c usb: host: xhci: plat: add support for Renesas r8a7796 SoC 2016-11-14 10:18:22 +01:00
xhci-rcar.h usb: host: xhci: rcar: add a new firmware version for r8a7796 2016-11-14 10:18:22 +01:00
xhci-ring.c usb: patches for v4.10 merge window 2016-11-18 16:02:15 +01:00
xhci-tegra.c usb: host: xhci-tegra: Fix error return code in tegra_xusb_probe() 2016-09-13 17:24:24 +02:00
xhci-trace.c
xhci-trace.h
xhci.c usb: patches for v4.10 merge window 2016-11-18 16:02:15 +01:00
xhci.h usb: patches for v4.10 merge window 2016-11-18 16:02:15 +01:00