linux/drivers/usb/host
Dmitry Torokhov e103cc4da5 USB: xhci - fix interval calculation for FS isoc endpoints
commit cd3c18ba2f upstream.

Full-speed isoc endpoints specify interval in exponent based form in
frames, not microframes, so we need to adjust accordingly.

NEC xHCI host controllers will return an error code of 0x11 if a full
speed isochronous endpoint is added with the Interval field set to
something less than 3 (2^3 = 8 microframes, or one frame).  It is
impossible for a full speed device to have an interval smaller than one
frame.

This was always an issue in the xHCI driver, but commit
dfa49c4ad1 "USB: xhci - fix math in
xhci_get_endpoint_interval()" removed the clamping of the minimum value
in the Interval field, which revealed this bug.

This needs to be backported to stable kernels back to 2.6.31.

Reported-by: Matt Evans <matt@ozlabs.org>
Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-06-23 15:24:07 -07:00
..
whci USB: whci-hcd: always do an update after processing a halted qTD 2009-10-14 14:54:43 -07:00
ehci-atmel.c USB: at91: Add USB EHCI driver for at91sam9g45 series 2009-09-23 06:46:30 -07:00
ehci-au1xxx.c USB: au1xxx: add dev_pm_ops 2009-09-23 06:46:29 -07:00
ehci-dbg.c USB: EHCI: split ehci_qh into hw and sw parts 2009-09-23 06:46:29 -07:00
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 DMA deallocation bug 2011-02-17 15:36:47 -08:00
ehci-hub.c USB: EHCI: clear PHCD before resuming 2010-07-05 11:10:37 -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 USB: EHCI: defer reclamation of siTDs 2010-05-12 14:56:59 -07:00
ehci-orion.c USB: ehci-orion: Call ehci_reset before ehci_halt 2009-07-28 14:31:10 -07:00
ehci-pci.c USB: EHCI: ASPM quirk of ISOC on AMD Hudson 2011-02-17 15:36:47 -08:00
ehci-ppc-of.c USB: ehci-ppc-of: problems in unwind 2010-09-20 13:17:46 -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: unlink unused QHs when the controller is stopped 2011-04-22 08:44:27 -07:00
ehci-sched.c USB: EHCI: ASPM quirk of ISOC on AMD SB800 2011-02-17 15:36:42 -08:00
ehci-w90x900.c USB: Add nuvoton Ehci driver for w90p910 platform 2009-09-23 06:46:20 -07:00
ehci.h USB: EHCI: ASPM quirk of ISOC on AMD SB800 2011-02-17 15:36:42 -08:00
fhci-dbg.c
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
isp116x-hcd.c
isp116x.h
isp1362-hcd.c USB: isp1362: fix build warnings on 64-bit systems 2009-10-09 13:52:07 -07:00
isp1362.h USB: isp1362: fix build warnings on 64-bit systems 2009-10-09 13:52:07 -07:00
isp1760-hcd.c USB: isp1760: allow platform devices to customize devflags 2009-09-23 06:46:29 -07:00
isp1760-hcd.h USB: isp1760: allow platform devices to customize devflags 2009-09-23 06:46:29 -07:00
isp1760-if.c USB: isp1760: allow platform devices to customize devflags 2009-09-23 06:46:29 -07:00
Kconfig USB: NXP ISP1362 USB host driver 2009-09-23 06:46:30 -07:00
Makefile USB: NXP ISP1362 USB host driver 2009-09-23 06:46:30 -07:00
ohci-at91.c USB: at91: modify OHCI driver to allow shared interrupts 2009-09-23 06:46:31 -07:00
ohci-au1xxx.c USB: au1xxx: add dev_pm_ops 2009-09-23 06:46:29 -07:00
ohci-dbg.c
ohci-ep93xx.c USB: ohci-ep93xx.c: remove unused variable 2009-09-23 06:46:34 -07:00
ohci-hcd.c OHCI: work around for nVidia shutdown problem 2011-03-02 09:46:36 -05:00
ohci-hub.c USB: OHCI: don't look at the root hub to get the number of ports 2010-05-12 14:57:02 -07:00
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 OHCI: fix regression caused by nVidia shutdown workaround 2011-06-23 15:24:04 -07:00
ohci-pnx4008.c USB: fix I2C API usage in ohci-pnx4008. 2010-03-15 08:49:56 -07:00
ohci-pnx8550.c
ohci-ppc-of.c
ohci-ppc-soc.c
ohci-ps3.c
ohci-pxa27x.c Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
ohci-q.c USB: ohci: quirk AMD prefetch for USB 1.1 ISO transfer 2009-11-17 16:46:33 -08:00
ohci-s3c2410.c
ohci-sa1111.c
ohci-sh.c
ohci-sm501.c
ohci-ssb.c
ohci-tmio.c
ohci.h OHCI: work around for nVidia shutdown problem 2011-03-02 09:46:36 -05:00
oxu210hp-hcd.c USB: EHCI: OHCI: Remove unnecessary includes of reboot.h 2009-09-23 06:46:32 -07:00
oxu210hp.h
pci-quirks.c OHCI: work around for nVidia shutdown problem 2011-03-02 09:46:36 -05:00
pci-quirks.h
r8a66597-hcd.c usb: r8a66597-hcd: fix removed from an attached hub 2010-04-01 15:58:36 -07: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 USB: fix crash in uhci_scan_schedule 2010-03-15 08:50:08 -07:00
uhci-hcd.h
uhci-hub.c USB: add missing delay during remote wakeup 2010-01-25 10:49:33 -08:00
uhci-q.c USB: uhci: rm repeatedly evaluation for urbp->qh 2009-09-23 06:46:30 -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: Fix finding extended capabilities registers 2010-03-15 08:50:07 -07:00
xhci-hcd.c USB: xhci: Wait for controller to be ready after reset. 2010-07-05 11:11:07 -07:00
xhci-hub.c
xhci-mem.c USB: xhci - fix interval calculation for FS isoc endpoints 2011-06-23 15:24:07 -07:00
xhci-pci.c USB: Add hub descriptor update hook for xHCI 2009-09-23 06:46:40 -07:00
xhci-ring.c xhci: Fix cycle bit calculation during stall handling. 2011-03-23 13:16:47 -07:00
xhci.h USB: xhci - fix unsafe macro definitions 2011-04-22 08:44:29 -07:00