linux/drivers/usb/host
David Brownell e82cc1288f USB: fix ehci unlink regressions
The recent EHCI driver update to split the IAA watchdog timer out from
the other timers made several things work better, but not everything;
and it created a couple new issues in bugzilla.  Ergo this patch:

  - Handle a should-be-rare SMP race between the watchdog firing
    and (very late) IAA interrupts;

  - Remove a shouldn't-have-been-added WARN_ON() test;

  - Guard against one observed OOPS;

  - If this watchdog fires during clean HC shutdown, it should act
    as a NOP instead of interfering with the shutdown sequence;

  - Guard against silicon errata hypothesized by some vendors:
      * IAA status latch broken, but IAAD cleared OK;
      * IAAD wasn't cleared when IAA status got reported;

The WARN_ON is in bugzilla as 10168; the OOPS as 10078; these are
both regressions.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Tested-by: Gordon Farquharson <gordonfarquharson@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-03-10 16:42:27 -07: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: fix ehci unlink regressions 2008-03-10 16:42:27 -07: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: isp116x: fix enumeration on boot 2008-03-04 14:57:43 -08:00
isp116x.h USB: isp116x: fix enumeration on boot 2008-03-04 14:57:43 -08: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