summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/uhci.c
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2015-02-17 07:52:50 +0000
committerhselasky <hselasky@FreeBSD.org>2015-02-17 07:52:50 +0000
commit49152454e7ff6ebf5ddf6533f15ed3d75f1d3d41 (patch)
treeacf6e069aad29e236f0ccafca694f93586d477c6 /sys/dev/usb/controller/uhci.c
parent9830109945cc99020b0f060995dd5e39c2ac63df (diff)
downloadFreeBSD-src-49152454e7ff6ebf5ddf6533f15ed3d75f1d3d41.zip
FreeBSD-src-49152454e7ff6ebf5ddf6533f15ed3d75f1d3d41.tar.gz
Try to resolve infinite interrupts by clearing an undocumented
interrupt status bit. According to the UHCI controller specification the host controller halted interrupt is non-maskable. PR: 156596 Tested by: adrian @ MFC after: 1 week
Diffstat (limited to 'sys/dev/usb/controller/uhci.c')
-rw-r--r--sys/dev/usb/controller/uhci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/usb/controller/uhci.c b/sys/dev/usb/controller/uhci.c
index 0077615..5204d63 100644
--- a/sys/dev/usb/controller/uhci.c
+++ b/sys/dev/usb/controller/uhci.c
@@ -1476,7 +1476,8 @@ uhci_interrupt(uhci_softc_t *sc)
UHCI_STS_USBEI |
UHCI_STS_RD |
UHCI_STS_HSE |
- UHCI_STS_HCPE);
+ UHCI_STS_HCPE |
+ UHCI_STS_HCH);
if (status == 0) {
/* nothing to acknowledge */
OpenPOWER on IntegriCloud