linux/drivers/usb/host
Warren Free 0afb20e00b USB: isp1760: urb_dequeue doesn't always find the urbs
The option driver (and presumably others) allocates several URBs when it
opens and tries to free them when it closes. The isp1760_urb_dequeue
function gets called, but the packet being dequeued is not necessarily at
the
front of one of the 32 queues. If not, the isp1760_urb_done function doesn't
get called for the URB and the process trying to free it hangs forever on a
wait_queue. This patch does two things. If the URB being dequeued has others
queued behind it, it re-queues them. And it searches the queues looking for
the URB being dequeued rather than just looking at the one at the front of
the queue.

[bigeasy@linutronix] whitespace fixes, reformating

Cc: stable <stable@kernel.org>
Signed-off-by: Warren Free <wfree@ipmn.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-05-28 13:54:43 -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
ehci-dbg.c
ehci-fsl.c
ehci-fsl.h
ehci-hcd.c
ehci-hub.c
ehci-ixp4xx.c
ehci-mem.c
ehci-orion.c
ehci-pci.c
ehci-ppc-of.c
ehci-ps3.c
ehci-q.c
ehci-sched.c USB: ehci-sched.c: EHCI SITD scheduling bugfix 2009-04-23 14:15:28 -07:00
ehci.h
fhci-dbg.c
fhci-hcd.c
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c
fhci-tds.c
fhci.h
hwa-hc.c
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
Kconfig
Makefile
ohci-at91.c
ohci-au1xxx.c
ohci-dbg.c
ohci-ep93xx.c
ohci-hcd.c
ohci-hub.c
ohci-lh7a404.c
ohci-mem.c
ohci-omap.c
ohci-pci.c
ohci-pnx4008.c
ohci-pnx8550.c
ohci-ppc-of.c
ohci-ppc-soc.c
ohci-ps3.c
ohci-pxa27x.c
ohci-q.c
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
pci-quirks.h
r8a66597-hcd.c
r8a66597.h
sl811_cs.c
sl811-hcd.c
sl811.h
u132-hcd.c
uhci-debug.c
uhci-hcd.c
uhci-hcd.h
uhci-hub.c
uhci-q.c