android_kernel_xiaomi_sm8350/drivers/usb/host
Sarah Sharp 83fbcdcca0 USB: xhci: Handle babbling endpoints correctly.
The 0.95 xHCI spec says that non-control endpoints will be halted if a
babble is detected on a transfer.  The 0.96 xHCI spec says all types of
endpoints will be halted when a babble is detected.  Some hardware that
claims to be 0.95 compliant halts the control endpoint anyway.

When a babble is detected on a control endpoint, check the hardware's
output endpoint context to see if the endpoint is marked as halted.  If
the control endpoint is halted, a reset endpoint command must be issued
and the transfer ring dequeue pointer needs to be moved past the stopped
transfer.  Basically, we treat it as if the control endpoint had stalled.

Handle bulk babbling endpoints as if we got a completion event with a
stall completion code.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-23 06:46:18 -07:00
..
whci USB: whci-hcd: check return value of usb_hcd_link_urb_to_ep() 2009-04-17 10:50:27 -07:00
ehci-au1xxx.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-dbg.c
ehci-fsl.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-fsl.h
ehci-hcd.c USB: EHCI: fix two new bugs related to Clear-TT-Buffer 2009-08-07 16:05:13 -07:00
ehci-hub.c USB: EHCI: create sysfs companion files directly in the controller device 2009-06-15 21:44:43 -07:00
ehci-ixp4xx.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-mem.c
ehci-orion.c USB: ehci-orion: Call ehci_reset before ehci_halt 2009-07-28 14:31:10 -07:00
ehci-pci.c trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
ehci-ppc-of.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-ps3.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-q.c USB: EHCI: fix counting of transaction error retries 2009-08-07 16:05:13 -07:00
ehci-sched.c USB: EHCI: fix counting of transaction error retries 2009-08-07 16:05:13 -07:00
ehci.h trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
fhci-dbg.c USB: FHCI: use the new usb debugfs directory 2009-06-15 21:44:43 -07:00
fhci-hcd.c
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c USB: fhci: mutually exclusive port_status 2009-07-12 15:16:36 -07:00
fhci-tds.c
fhci.h
hwa-hc.c wusb: hwa-hc: Drop unused pci_suspend/resume hooks. 2009-06-15 21:44:44 -07:00
isp116x-hcd.c
isp116x.h
isp1760-hcd.c USB: isp1760: urb_dequeue doesn't always find the urbs 2009-05-28 13:54:43 -07:00
isp1760-hcd.h
isp1760-if.c USB: isp1760: use __devexit_p() for remove function 2009-07-12 15:16:36 -07:00
Kconfig usb: r8a66597-hcd platform data on_chip support 2009-07-20 04:27:10 +09:00
Makefile USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries. 2009-06-15 21:44:51 -07:00
ohci-at91.c [ARM] 5446/1: ohci-at91: Limit vbus_pin assignment to the size of the array 2009-04-08 20:36:18 +01:00
ohci-au1xxx.c
ohci-dbg.c USB: OHCI: use the ohci structure directly in debugfs files. 2009-06-15 21:44:43 -07:00
ohci-ep93xx.c [ARM] 5526/1: ep93xx: usb driver cleanup 2009-05-29 20:16:29 +01:00
ohci-hcd.c USB: OHCI: use the new usb debugfs directory 2009-06-15 21:44:43 -07:00
ohci-hub.c
ohci-lh7a404.c
ohci-mem.c
ohci-omap.c USB: OMAP: OHCI: hc_driver's stop method should call ohci_stop 2009-07-28 14:31:09 -07:00
ohci-pci.c USB: new flag for resume-from-hibernation 2009-06-15 21:44:44 -07:00
ohci-pnx4008.c
ohci-pnx8550.c
ohci-ppc-of.c
ohci-ppc-soc.c
ohci-ps3.c usb/ps3: Add missing annotations 2009-06-16 14:17:32 +10:00
ohci-pxa27x.c
ohci-q.c trivial: OHCI: Fix typo in a comment 2009-09-21 15:14:51 +02:00
ohci-s3c2410.c
ohci-sa1111.c
ohci-sh.c
ohci-sm501.c
ohci-ssb.c
ohci-tmio.c
ohci.h
oxu210hp-hcd.c
oxu210hp.h
pci-quirks.c USB: xhci: BIOS handoff and HW initialization. 2009-06-15 21:44:48 -07:00
pci-quirks.h
r8a66597-hcd.c usb: fix hibernate in r8a66597-hcd dev_pm_ops conversion. 2009-07-29 21:31:13 +09:00
r8a66597.h usb: move r8a66597 register defines 2009-07-23 13:04:10 +09:00
sl811_cs.c
sl811-hcd.c USB: sl811-hcd: Fix device disconnect: 2009-09-23 06:46:16 -07:00
sl811.h
u132-hcd.c
uhci-debug.c
uhci-hcd.c debugfs: Modified default dir of debugfs for debugging UHCI. 2009-09-15 09:50:49 -07:00
uhci-hcd.h
uhci-hub.c
uhci-q.c USB: UHCI queue: use usb_endpoint_type() 2009-06-15 21:44:42 -07:00
xhci-dbg.c USB: xhci: Fix slot and endpoint context debugging. 2009-09-23 06:46:17 -07:00
xhci-ext-caps.h USB: xhci: Support xHCI host controllers and USB 3.0 devices. 2009-06-15 21:44:48 -07:00
xhci-hcd.c USB: xhci: Add quirk for Fresco Logic xHCI hardware. 2009-09-23 06:46:17 -07:00
xhci-hub.c USB: xhci: Root hub support. 2009-06-15 21:44:48 -07:00
xhci-mem.c USB: xhci: Set correct max packet size for HS/FS control endpoints. 2009-09-23 06:46:17 -07:00
xhci-pci.c USB: xhci: Add quirk for Fresco Logic xHCI hardware. 2009-09-23 06:46:17 -07:00
xhci-ring.c USB: xhci: Handle babbling endpoints correctly. 2009-09-23 06:46:18 -07:00
xhci.h USB: xhci: Add quirk for Fresco Logic xHCI hardware. 2009-09-23 06:46:17 -07:00