kernel-fxtec-pro1x/drivers
Mike Nuss 89a0fd18a9 USB: OHCI handles more ZFMicro quirks
The ZF Micro OHCI controller exhibits unexpected behavior that seems to be
related to high load.  Under certain conditions, the controller will
complete a TD, remove it from the endpoint's queue, and fail to add it to
the donelist. This causes the endpoint to appear to stop responding. Worse,
if the device is removed while in that state, OHCI will hang while waiting
for the orphaned TD to complete.  The situation is not recoverable without
rebooting.

This fix enhances the scope of the existing OHCI_QUIRK_ZFMICRO flag:

 1. A watchdog routine periodically scans the OHCI structures to check
    for orphaned TDs. In these cases the TD is taken back from the
    controller and completed normally.

 2. If a device is removed while the endpoint is hung but before the
    watchdog catches the situation, any outstanding TDs are taken back
    from the controller in the 'sanitize' phase.

The ohci-hcd driver used to print "INTR_SF lossage" in this situation;
this changes it to the universally accurate "ED unlink timeout".  Other
instances of this message presumably have different root causes.

Both this Compaq quirk and a NEC quirk are now properly compiled out for
non-PCI builds of this driver.

Signed-off-by: Mike Nuss <mike@terascala.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-12 14:54:59 -07:00
..
acorn/char
acpi Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2007-10-11 19:20:44 -07:00
amba
ata Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2007-10-11 21:47:20 -07:00
atm
auxdisplay
base
block Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
bluetooth
cdrom [POWERPC] iSeries: Move detection of virtual cdroms 2007-10-11 20:40:47 +10:00
char Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
clocksource
connector [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
cpufreq
crypto [CRYPTO] sha: Add header file for SHA definitions 2007-10-10 16:55:50 -07:00
dio
dma
edac
eisa
fc4
firewire
firmware
hid
hwmon
i2c
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2007-10-11 19:20:44 -07:00
ieee1394 [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2007-10-11 19:43:13 -07:00
input
isdn [ISDN]: Change I4L to use alloc_netdev(). 2007-10-10 16:54:57 -07:00
kvm
leds leds: Update Cobalt Qube series front LED support 2007-10-11 22:24:00 +01:00
lguest
macintosh
mca
md
media Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
message [NET]: Nuke SET_MODULE_OWNER macro. 2007-10-10 16:51:13 -07:00
mfd
misc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
mmc mmc: don't use weight32() 2007-10-11 19:09:08 +02:00
mtd
net [TG3]: Fix APE induced regression 2007-10-11 22:17:20 -07:00
nubus
of
oprofile
parisc
parport
pci i386: move pci 2007-10-11 11:16:36 +02:00
pcmcia
pnp
power
ps3
rapidio
rtc
s390 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
sbus
scsi Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
serial Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
sh
sn
spi
ssb [SSB]: Sparse fixes. 2007-10-10 16:52:21 -07:00
tc
telephony
uio
usb USB: OHCI handles more ZFMicro quirks 2007-10-12 14:54:59 -07:00
video Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
w1
xen
zorro
Kconfig [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00
Makefile [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00