summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ohci.h
diff options
context:
space:
mode:
authorMichael Hanselmann <linux-kernel@hansmi.ch>2007-05-31 23:34:27 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2007-07-12 16:34:29 -0700
commitd576bb9f2769b315a795f77f0c33322a976add7a (patch)
tree56d59afa4d1e96b519e81434bd09598f76bf1fee /drivers/usb/host/ohci.h
parent020363384adfb02f26c1c038a127ed3da3d5cf37 (diff)
downloadlinux-stable-d576bb9f2769b315a795f77f0c33322a976add7a.tar.gz
linux-stable-d576bb9f2769b315a795f77f0c33322a976add7a.tar.bz2
linux-stable-d576bb9f2769b315a795f77f0c33322a976add7a.zip
USB: Fix NEC OHCI chip silicon bug
This patch fixes a silicon bug in some NEC OHCI chips. The bug appears at random times and is very, very difficult to reproduce. Without the following patch, Linux would shut the chip and its associated devices down. In Apple PowerBooks this leads to an unusable keyboard and mouse (SSH still working). The idea of restarting the chip is taken from public Darwin code. Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch> Cc: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/ohci.h')
-rw-r--r--drivers/usb/host/ohci.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h
index c2b5ecfe5e9f..4ada43cf1387 100644
--- a/drivers/usb/host/ohci.h
+++ b/drivers/usb/host/ohci.h
@@ -397,8 +397,10 @@ struct ohci_hcd {
#define OHCI_QUIRK_BE_DESC 0x08 /* BE descriptors */
#define OHCI_QUIRK_BE_MMIO 0x10 /* BE registers */
#define OHCI_QUIRK_ZFMICRO 0x20 /* Compaq ZFMicro chipset*/
+#define OHCI_QUIRK_NEC 0x40 /* lost interrupts */
// there are also chip quirks/bugs in init logic
+ struct work_struct nec_work; /* Worker for NEC quirk */
};
/* convert between an hcd pointer and the corresponding ohci_hcd */