linux/drivers/usb/host
Misha Zhilin b5f7a0ec11 USB: ehci: handle large bulk URBs correctly (again)
USB: ehci: Fixes completion for multi-qtd URB the short read case

When use of urb->status in the EHCI driver was reworked last August
(commit 14c04c0f88), a bug was inserted
in the handling of early completion for bulk transactions that need
more than one qTD (e.g. more than 20KB in one URB).

This patch resolves that problem by ensuring that the early completion
status is preserved until the URB is handed back to its submitter,
instead of resetting it after each qTD.

Signed-off-by: Misha Zhilin <misha@epiphan.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-03-04 14:57:43 -08:00
..
ehci-au1xxx.c USB: force handover port to companion when hub_port_connect_change fails 2008-02-01 14:34:52 -08:00
ehci-dbg.c USB: EHCI: add separate IAA watchdog timer 2008-02-01 14:34:55 -08:00
ehci-fsl.c USB: Spelling fixes 2008-02-01 14:34:57 -08:00
ehci-fsl.h ehci-fsl: fix cache coherency problem on system with large memory 2007-05-23 20:14:15 -07:00
ehci-hcd.c USB: POWERPC: ehci: fix ppc build 2008-02-21 15:38:56 -08:00
ehci-hub.c usb: ehci, remove false clear-reset path 2008-02-01 14:35:06 -08:00
ehci-ixp4xx.c USB: add ehci-ixp bus glue 2008-02-01 14:35:02 -08:00
ehci-mem.c Revert "USB: EHCI cpufreq fix" 2007-08-20 23:38:44 -07:00
ehci-orion.c USB: add Marvell Orion USB host support 2008-02-01 14:34:58 -08:00
ehci-pci.c USB: EHCI: add separate IAA watchdog timer 2008-02-01 14:34:55 -08:00
ehci-ppc-of.c USB: add ehci-ppc-of bus glue (device-tree aware) 2008-02-01 14:35:01 -08:00
ehci-ppc-soc.c USB: force handover port to companion when hub_port_connect_change fails 2008-02-01 14:34:52 -08:00
ehci-ps3.c USB: force handover port to companion when hub_port_connect_change fails 2008-02-01 14:34:52 -08:00
ehci-q.c USB: ehci: handle large bulk URBs correctly (again) 2008-03-04 14:57:43 -08:00
ehci-sched.c USB: ehci completes high speed ISO URBs sooner 2008-02-01 14:35:02 -08:00
ehci.h usb: ehci should use u16 for isochronous intervals 2008-02-01 14:35:06 -08:00
isp116x-hcd.c USB: Drop unnecessary continue in a few drivers 2008-02-01 14:34:51 -08:00
isp116x.h USB: Dealias -110 code (more complete) 2006-09-27 11:59:00 -07:00
Kconfig ehci-fsl: add PPC_MPC837x to default y 2008-02-21 15:38:56 -08:00
Makefile USB: r8a66597-hcd: host controller driver for R8A66597 2007-07-12 16:29:45 -07:00
ohci-at91.c USB: ohci-at91 uses generic GPIO calls 2008-02-01 14:35:01 -08:00
ohci-au1xxx.c ohci: Rework bus glue integration to allow several at once 2007-02-07 15:44:33 -08:00
ohci-dbg.c USB: convert ohci debug files to use debugfs instead of sysfs 2008-02-01 14:34:52 -08:00
ohci-ep93xx.c [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
ohci-hcd.c usb: ohci-sm501 driver 2008-02-01 14:35:05 -08:00
ohci-hub.c USB: Fix NEC OHCI chip silicon bug 2007-07-12 16:34:29 -07:00
ohci-lh7a404.c ohci: Rework bus glue integration to allow several at once 2007-02-07 15:44:33 -08:00
ohci-mem.c USB: OHCI handles more ZFMicro quirks 2007-10-12 14:54:59 -07:00
ohci-omap.c i2c/tps65010: move header to <linux/i2c/...> 2008-01-27 18:14:49 +01:00
ohci-pci.c USB: OHCI handles more ZFMicro quirks 2007-10-12 14:54:59 -07:00
ohci-pnx4008.c i2c: Kill rogue driver IDs 2008-01-27 18:14:47 +01:00
ohci-pnx8550.c [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
ohci-ppc-of.c [POWERPC] mpc5200: normalize compatible property bindings 2008-01-26 15:26:01 -07:00
ohci-ppc-soc.c USB: add runtime frame_no quirk for big-endian OHCI 2007-10-12 14:55:32 -07:00
ohci-ps3.c USB: PS3: USB system-bus rework 2007-07-12 16:34:30 -07:00
ohci-pxa27x.c [ARM] USB: update pxa27x ohci driver to use clk support 2008-01-26 15:07:53 +00:00
ohci-q.c USB: Eliminate urb->status usage! 2007-10-12 14:55:23 -07:00
ohci-s3c2410.c Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
ohci-sa1111.c ohci: Rework bus glue integration to allow several at once 2007-02-07 15:44:33 -08:00
ohci-sh.c USB: add support for SuperH OHCI 2008-02-01 14:35:03 -08:00
ohci-sm501.c usb: ohci-sm501 driver 2008-02-01 14:35:05 -08:00
ohci-ssb.c USB: use IRQF_DISABLED for HCD interrupt handlers 2007-12-17 10:47:15 -08:00
ohci.h USB: convert ohci debug files to use debugfs instead of sysfs 2008-02-01 14:34:52 -08:00
pci-quirks.c PCI: use dev_printk in quirk messages 2008-02-01 15:04:26 -08:00
pci-quirks.h
r8a66597-hcd.c USB: use IRQF_DISABLED for HCD interrupt handlers 2007-12-17 10:47:15 -08:00
r8a66597.h USB: Spelling fixes 2008-02-01 14:34:57 -08:00
sl811_cs.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sl811-hcd.c PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
sl811.h
u132-hcd.c Fix u132-hcd.c compile error 2008-02-23 20:29:09 -08:00
uhci-debug.c USB: add urb->unlinked field 2007-10-12 14:55:19 -07:00
uhci-hcd.c USB: use IRQF_DISABLED for HCD interrupt handlers 2007-12-17 10:47:15 -08:00
uhci-hcd.h USB: Eliminate urb->status usage! 2007-10-12 14:55:23 -07:00
uhci-hub.c UHCI: fix port resume problem 2007-03-09 19:52:23 -08:00
uhci-q.c USB: fix scheduling of Iso URBs in uhci-hcd 2007-10-25 12:18:43 -07:00