1
linux/drivers/usb/host
Alan Stern af0bb5998a [PATCH] UHCI: use dummy TDs
This patch (as624) fixes a hardware race in uhci-hcd by adding a dummy
TD to the end of each endpoint's queue.  Without the dummy the host
controller will effectively turn off the queue when it reaches the end,
which happens asynchronously.  This leads to a potential problem when
new transfer descriptors are added to the end of the queue; they may
never get used.

With a dummy TD present the controller never turns off the queue;
instead it just stops at the dummy and leaves the queue on but inactive.
When new TDs are added to the end of the queue, the first new one gets
written over the dummy.  Thus there's never any question about whether
the queue is running or needs to be restarted.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20 14:49:57 -08:00
..
ehci-au1xxx.c [PATCH] USB: EHCI for AU1200 2006-03-20 14:49:55 -08:00
ehci-dbg.c
ehci-fsl.c [PATCH] USB: Fix masking bug initialization of Freescale EHCI controller 2006-03-20 14:49:57 -08:00
ehci-fsl.h [PATCH] USB: EHCI for Freescale 83xx 2006-03-20 14:49:55 -08:00
ehci-hcd.c [PATCH] USB: EHCI for AU1200 2006-03-20 14:49:55 -08:00
ehci-hub.c [PATCH] USB: EHCI and NF2 quirk 2006-03-20 14:49:55 -08:00
ehci-mem.c [PATCH] gfp_t: drivers/usb 2005-10-28 08:16:49 -07:00
ehci-pci.c [PATCH] USB: EHCI and NF2 quirk 2006-03-20 14:49:55 -08:00
ehci-q.c [PATCH] USB: EHCI unlink tweaks 2006-03-20 14:49:55 -08:00
ehci-sched.c [PATCH] USB: EHCI full speed ISO bugfixes 2006-03-20 14:49:55 -08:00
ehci.h [PATCH] USB: EHCI and Freescale 83xx quirk 2006-03-20 14:49:55 -08:00
hc_crisv10.c [PATCH] driver core: replace "hotplug" by "uevent" 2006-01-04 16:18:08 -08:00
hc_crisv10.h
isp116x-hcd.c [PATCH] USB: isp116x-hcd: replace mdelay() by msleep() 2006-01-31 17:23:42 -08:00
isp116x.h [PATCH] USB: isp116x-hcd: cleanup 2006-01-04 13:48:29 -08:00
Kconfig [PATCH] USB: EHCI for AU1200 2006-03-20 14:49:55 -08:00
Makefile [PATCH] USB: hcd uses EXTRA_CFLAGS for -DDEBUG 2006-01-04 13:48:30 -08:00
ohci-at91.c [PATCH] USB: add support for OCHI on AT91rm9200 2006-03-20 14:49:55 -08:00
ohci-au1xxx.c [PATCH] USB: OHCI for AU1200 2006-03-20 14:49:55 -08:00
ohci-dbg.c [PATCH] OHCI PM updates 2005-10-28 16:47:40 -07:00
ohci-hcd.c [PATCH] USB: ohci uses driver model wakeup flags 2006-03-20 14:49:56 -08:00
ohci-hub.c [PATCH] USB: ohci uses driver model wakeup flags 2006-03-20 14:49:56 -08:00
ohci-lh7a404.c [PATCH] fix more missing includes 2006-01-08 20:13:45 -08:00
ohci-mem.c [PATCH] OHCI PM updates 2005-10-28 16:47:40 -07:00
ohci-omap.c [ARM] Move asm/hardware/clock.h to linux/clk.h 2006-01-07 16:15:52 +00:00
ohci-pci.c [PATCH] USB: ohci uses driver model wakeup flags 2006-03-20 14:49:56 -08:00
ohci-ppc-soc.c [PATCH] fix more missing includes 2006-01-08 20:13:45 -08:00
ohci-pxa27x.c [PATCH] USB: Correct ohci-pxa27x suspend/resume struct confusion 2006-01-04 13:51:40 -08:00
ohci-q.c
ohci-s3c2410.c [ARM] Move asm/hardware/clock.h to linux/clk.h 2006-01-07 16:15:52 +00:00
ohci-sa1111.c [PATCH] USB: Rename hcd->hub_suspend to hcd->bus_suspend 2005-10-28 16:47:44 -07:00
ohci.h [PATCH] OHCI PM updates 2005-10-28 16:47:40 -07:00
pci-quirks.c [PATCH] USB: fix EHCI BIOS handshake 2006-02-28 12:42:06 -08:00
sl811_cs.c [PATCH] USB: sl811_cs needs platform_device conversion too 2006-02-13 21:33:39 -08:00
sl811-hcd.c [PATCH] USB: central handling for host controllers that were reset during suspend/resume 2006-01-04 13:48:31 -08:00
sl811.h
uhci-debug.c [PATCH] UHCI: use dummy TDs 2006-03-20 14:49:57 -08:00
uhci-hcd.c [PATCH] UHCI: use one QH per endpoint, not per URB 2006-03-20 14:49:57 -08:00
uhci-hcd.h [PATCH] UHCI: use dummy TDs 2006-03-20 14:49:57 -08:00
uhci-hub.c [PATCH] USB UHCI: remove the FSBR kernel timer 2005-09-12 12:23:40 -07:00
uhci-q.c [PATCH] UHCI: use dummy TDs 2006-03-20 14:49:57 -08:00