diff options
author | n_hibma <n_hibma@FreeBSD.org> | 2002-04-10 07:35:28 +0000 |
---|---|---|
committer | n_hibma <n_hibma@FreeBSD.org> | 2002-04-10 07:35:28 +0000 |
commit | 9c153d29ad1d88827e5e3c44538b1e34503c4066 (patch) | |
tree | 3cce2e7b0afa77bdeb53944cd42c03f16da14aef /sys/dev | |
parent | 740d53225eacc705c1b89de64aab09feaddaef16 (diff) | |
download | FreeBSD-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.c | 6 |
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 |