android_kernel_oneplus_msm8998/drivers/usb/host
Michał Pecio 2053f7db7a USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails
commit c66f59ee5050447b3da92d36f5385a847990a894 upstream.

Since ed_schedule begins with marking the ED as "operational",
the ED may be left in such state even if scheduling actually
fails.

This allows future submission attempts to smuggle this ED to the
hardware behind the scheduler's back and without linking it to
the ohci->eds_in_use list.

The former causes bandwidth saturation and data loss on isoc
endpoints, the latter crashes the kernel when attempt is made
to unlink such ED from this list.

Fix ed_schedule to update ED state only on successful return.

Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-08-10 11:49:24 +02:00
..
whci USB: whci-hcd: add check for dma mapping error 2015-12-01 14:45:52 -08:00
bcma-hcd.c USB: bcma: add support for controlling bus power through GPIO 2015-07-22 15:43:34 -07:00
ehci-atmel.c USB: ehci-atmel: rework clk handling 2015-03-18 13:28:35 +01:00
ehci-dbg.c USB: ehci-dbg.c: move assignment out of if () block 2015-05-10 16:01:10 +02:00
ehci-exynos.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ehci-fsl.c drivers: usb: fsl: Workaround for USB erratum-A005275 2015-08-14 16:50:36 -07:00
ehci-fsl.h drivers: usb: fsl: Define usb control register mask for w1c bits 2015-07-22 16:44:35 -07:00
ehci-grlib.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-hcd.c dma: remove external references to dma_supported 2015-11-09 15:11:24 -08:00
ehci-hub.c drivers: usb: fsl: Workaround for USB erratum-A005275 2015-08-14 16:50:36 -07:00
ehci-mem.c
ehci-msm.c usb: host: ehci-msm: fix handling platform_get_irq result 2015-10-04 10:59:03 +01:00
ehci-mv.c host: ehci-mv: remove duplicate check on resource 2014-11-07 09:01:50 -08:00
ehci-mxc.c host: ehci-mxc: remove duplicate check on resource 2014-11-07 09:01:50 -08:00
ehci-omap.c
ehci-orion.c usb: ehci-orion: fix probe for !GENERIC_PHY 2015-10-04 10:45:08 +01:00
ehci-pci.c ehci-pci: disable for Intel MID platforms (update) 2015-02-03 15:28:31 -08:00
ehci-platform.c USB: ehci-platform: Add ACPI bindings for the EHCI platform driver. 2015-10-04 10:47:13 +01:00
ehci-pmcmsp.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-ppc-of.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-ps3.c
ehci-q.c
ehci-sched.c USB: EHCI: adjust error return code 2015-01-09 09:58:49 -08:00
ehci-sead3.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-sh.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-spear.c usb: host: ehci-spear: Fix module autoload for OF platform driver 2015-10-04 10:51:58 +01:00
ehci-st.c usb: host: ehci-st: Simplify return statement 2015-08-05 12:37:21 -07:00
ehci-sysfs.c usb: host: ehci-sys: delete useless bus_to_hcd conversion 2015-08-18 10:05:23 -07:00
ehci-tegra.c usb: host: ehci-tegra: Grab the correct UTMI pads reset 2016-07-11 09:31:13 -07:00
ehci-tilegx.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-timer.c
ehci-w90x900.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ehci-xilinx-of.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci.h drivers: usb: fsl: Workaround for USB erratum-A005275 2015-08-14 16:50:36 -07:00
fhci-dbg.c
fhci-hcd.c usb: host: drop owner assignment from platform_drivers 2014-10-20 16:21:49 +02:00
fhci-hub.c fhci-hub: use USB_DT_HUB 2015-04-03 19:03:19 +02:00
fhci-mem.c
fhci-q.c
fhci-sched.c
fhci-tds.c
fhci.h
fotg210-hcd.c dma: remove external references to dma_supported 2015-11-09 15:11:24 -08:00
fotg210.h usb/host/fotg210: Fix coding style issues 2015-10-16 23:46:22 -07:00
fsl-mph-dr-of.c usb: host: fsl-mph-dr-of: Fix module autoload for OF platform driver 2015-10-04 10:51:58 +01:00
hwa-hc.c USB: HWA: fix a warning message 2014-11-03 15:26:15 -08:00
imx21-dbg.c
imx21-hcd.c imx21-hcd: use USB_DT_HUB 2015-04-03 19:03:18 +02:00
imx21-hcd.h
isp116x-hcd.c USB: isp116x-hcd.c: move assignment out of if () block 2015-05-10 16:01:11 +02:00
isp116x.h
isp1362-hcd.c isp1362-hcd: use USB_DT_HUB 2015-04-03 19:03:18 +02:00
isp1362.h
Kconfig usb-host: Remove fusbh200 driver 2015-10-16 23:44:33 -07:00
Makefile usb-host: Remove fusbh200 driver 2015-10-16 23:44:33 -07:00
max3421-hcd.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
ohci-at91.c USB: host: ohci-at91: fix a crash in ohci_hcd_at91_overcurrent_irq 2015-12-04 08:19:55 -08:00
ohci-da8xx.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-dbg.c USB: ohci-dbg.c: move assignment out of if () block 2015-05-10 16:01:11 +02:00
ohci-exynos.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ohci-hcd.c USB: ohci-hcd.c: move assignment out of if () block 2015-05-10 16:01:11 +02:00
ohci-hub.c ohci-hub: use USB_DT_HUB 2015-04-03 19:03:17 +02:00
ohci-jz4740.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-mem.c
ohci-nxp.c usb: host: lpc32xx: don't unregister phy device 2015-10-24 19:53:53 -07:00
ohci-omap.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ohci-omap3.c
ohci-pci.c
ohci-platform.c usb: ohci-platform: Use devm_of_phy_get_by_index 2015-05-11 21:42:25 +05:30
ohci-ppc-of.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-ps3.c
ohci-pxa27x.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ohci-q.c USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails 2016-08-10 11:49:24 +02:00
ohci-s3c2410.c ohci-s3c2410: use HUB_CHAR_* 2015-01-25 21:01:13 +08:00
ohci-sa1111.c
ohci-sm501.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-spear.c usb: host: ohci-spear: Fix module autoload for OF platform driver 2015-10-04 10:51:58 +01:00
ohci-st.c
ohci-tilegx.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-tmio.c USB: OHCI: fix bad #define in ohci-tmio.c 2015-07-22 14:49:42 -07:00
ohci.h USB: OHCI: Eliminate platform-specific test in ohci.h 2014-11-03 15:38:17 -08:00
oxu210hp-hcd.c dma: remove external references to dma_supported 2015-11-09 15:11:24 -08:00
oxu210hp.h
pci-quirks.c usb: host: pci_quirks: joing string literals 2015-01-31 09:05:06 -08:00
pci-quirks.h
r8a66597-hcd.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
r8a66597.h
sl811-hcd.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
sl811.h
sl811_cs.c
ssb-hcd.c USB: ssb: use devm_kzalloc 2015-06-08 14:26:22 -07:00
u132-hcd.c mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
uhci-debug.c
uhci-grlib.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
uhci-hcd.c
uhci-hcd.h
uhci-hub.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
uhci-pci.c
uhci-platform.c usb: host: uhci-platform: Fix module autoload for OF platform driver 2015-10-04 10:51:58 +01:00
uhci-q.c
xhci-dbg.c xhci: Read and parse new xhci 1.1 capability register 2015-10-04 10:34:17 +01:00
xhci-ext-caps.h
xhci-hub.c xhci: fix usb2 resume timing and races. 2015-12-11 15:40:51 -08:00
xhci-mem.c usb: xhci: fix wild pointers in xhci_mem_cleanup 2016-05-04 14:48:41 -07:00
xhci-mvebu.c
xhci-mvebu.h
xhci-pci.c USB: xhci: Add broken streams quirk for Frescologic device id 1009 2016-07-11 09:31:13 -07:00
xhci-plat.c usb: xhci-plat: properly handle probe deferral for devm_clk_get() 2016-07-11 09:31:13 -07:00
xhci-rcar.c
xhci-rcar.h
xhci-ring.c xhci: Fix handling timeouted commands on hosts in weird states. 2016-07-11 09:31:13 -07:00
xhci-trace.c xhci: Export symbols used by host-controller drivers 2014-10-03 14:44:45 -07:00
xhci-trace.h tracing: Add TRACE_SYSTEM_VAR to xhci-hcd 2015-04-07 12:31:55 -04:00
xhci.c xhci: Cleanup only when releasing primary hcd 2016-07-11 09:31:13 -07:00
xhci.h xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers 2016-05-04 14:48:41 -07:00