kernel-fxtec-pro1x/drivers
David Brownell 30bf54e62a USB: PS3: Fix EHCI ISO transfer bug
This adds a workaround for an issue reported with ISO transfers
on some EHCI controllers, most recently with VIA KT800 and PS3
EHCI silicon.

The issue is that the silicon doesn't necessarily seem to be done
using ISO DMA descriptors (itd, sitd) when it marks them inactive.
(One theory is that the ill-defined mechanism where hardware caches
periodic transfer descriptors isn't invalidating their state...)
With such silicon, quick re-use of those descriptors makes trouble.
Waiting until the next frame seems to be a sufficient workaround.

This patch ensures that the relevant descriptors aren't available
for immediate re-use.  It does so by not recycling them until after
issuing the completion callback which would reuse them by enqueueing
an URB and thus (re)allocating ISO DMA descriptors.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>
Cc: Masashi Kimoto <Masashi_Kimoto@hq.scei.sony.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-01 14:34:57 -08:00
..
acorn/char
acpi x86: don't disable TSC in any C states on AMD Fam10h 2008-01-30 13:32:41 +01:00
amba
ata Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
atm
auxdisplay
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-01-31 09:31:37 +11:00
block USB: Remove unnecessary zeroing from ub 2008-02-01 14:34:47 -08:00
bluetooth
cdrom
char unexport add_disk_randomness 2008-02-01 09:26:32 +01:00
clocksource
connector [NETNS]: Consolidate kernel netlink socket destruction. 2008-01-28 15:08:07 -08:00
cpufreq cpufreq: fix obvious condition statement error 2008-01-30 13:33:34 +01:00
cpuidle
crypto
dca
dio
dma
edac Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
eisa
firewire firewire: fw-sbp2: Use sbp2 device-provided mgt orb timeout for logins 2008-01-30 22:22:29 +01:00
firmware x86: left over fix for leak of early_ioremp in dmi_scan 2008-01-30 13:33:32 +01:00
hid
hwmon
i2c
ide ide-cd: fix leftover data BUG 2008-02-01 09:26:33 +01:00
ieee1394 ieee1394: ohci1394: don't schedule IT tasklets on IR events 2008-01-30 22:22:21 +01:00
infiniband [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
input [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
isdn
leds
lguest lguest: fix mis-merge against hpa's TSS renaming 2008-01-31 19:59:44 +11:00
macintosh Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
mca
md
media [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
message
mfd
misc
mmc
mtd
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-02-01 21:06:29 +11:00
nubus
of
oprofile
parisc
parport
pci Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
pcmcia
pnp git-x86: drivers/pnp/pnpbios/bioscalls.c build fix 2008-01-30 13:32:31 +01:00
power
ps3
rapidio Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
rtc
s390 [SCSI] zfcp: fix sense_buffer access bug 2008-01-30 13:03:39 -06:00
sbus
scsi [SCSI] Revert "[SCSI] aacraid: fib context lock for management ioctls" 2008-01-30 13:14:26 -06:00
serial m68knommu: use container_of in mcf.c 2008-02-01 21:00:01 +11:00
sh
sn
spi Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
ssb ssb: Add boardflags_hi field to the sprom data structure 2008-01-28 15:09:52 -08:00
tc
telephony
uio
usb USB: PS3: Fix EHCI ISO transfer bug 2008-02-01 14:34:57 -08:00
video USB: sisusb: *_ioctl32_conversion functions do not exist in recent kernels 2008-02-01 14:34:48 -08:00
virtio
w1
watchdog [WATCHDOG] use SGI_HAS_INDYDOG for INDYDOG depends 2008-01-29 12:58:38 +00:00
xen
zorro
Kconfig KVM: Move arch dependent files to new directory arch/x86/kvm/ 2008-01-30 18:01:18 +02:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2008-01-31 09:35:32 +11:00