summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorn_hibma <n_hibma@FreeBSD.org>2002-04-10 07:35:28 +0000
committern_hibma <n_hibma@FreeBSD.org>2002-04-10 07:35:28 +0000
commit9c153d29ad1d88827e5e3c44538b1e34503c4066 (patch)
tree3cce2e7b0afa77bdeb53944cd42c03f16da14aef /sys/dev
parent740d53225eacc705c1b89de64aab09feaddaef16 (diff)
downloadFreeBSD-src-9c153d29ad1d88827e5e3c44538b1e34503c4066.zip
FreeBSD-src-9c153d29ad1d88827e5e3c44538b1e34503c4066.tar.gz
intline == 0 is not a valid intline on 386. See pci_cfgintr() in
sys/i386/pci/pci_cfgreg.c. This should resolve some cases where adding USB support to the kernel produced an interrupt storm.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/pci.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index af6500b..96b81bc 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -750,7 +750,11 @@ pci_add_resources(device_t pcib, int b, int s, int f, device_t dev)
pci_add_map(pcib, b, s, f, q->arg1, rl);
}
- if (cfg->intpin > 0 && cfg->intline != 255) {
+ if (cfg->intpin > 0 && cfg->intline != 255
+#ifdef __i386__
+ && cfg->intline != 0
+#endif
+ ) {
#ifdef __ia64__
/*
* Re-route interrupts on ia64 so that we can get the
OpenPOWER on IntegriCloud