diff options
author | hselasky <hselasky@FreeBSD.org> | 2015-02-17 07:52:50 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2015-02-17 07:52:50 +0000 |
commit | 49152454e7ff6ebf5ddf6533f15ed3d75f1d3d41 (patch) | |
tree | acf6e069aad29e236f0ccafca694f93586d477c6 /sys/dev/usb/controller/uhci.c | |
parent | 9830109945cc99020b0f060995dd5e39c2ac63df (diff) | |
download | FreeBSD-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.c | 3 |
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 */ |