From 9c153d29ad1d88827e5e3c44538b1e34503c4066 Mon Sep 17 00:00:00 2001 From: n_hibma Date: Wed, 10 Apr 2002 07:35:28 +0000 Subject: 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. --- sys/dev/pci/pci.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sys/dev') 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 -- cgit v1.1