summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/pci.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-08-27 20:42:07 +0000
committerimp <imp@FreeBSD.org>2001-08-27 20:42:07 +0000
commitee73e559d2aad5011b278ac91e43887d15c2a49c (patch)
tree155632a39a5ead1d7d2f557cda1ecb4c4dd9f4b3 /sys/dev/pci/pci.c
parent5151b2478a17bf85d70266a911c28639fbb6dc34 (diff)
downloadFreeBSD-src-ee73e559d2aad5011b278ac91e43887d15c2a49c.zip
FreeBSD-src-ee73e559d2aad5011b278ac91e43887d15c2a49c.tar.gz
Ugggg. I thought I'd already committed this to -current:
If the intline is 0 or 255, then it needs an interrupt routed. Some Sony laptops improperly flag devices that need an interrupt with 0 :-(.
Diffstat (limited to 'sys/dev/pci/pci.c')
-rw-r--r--sys/dev/pci/pci.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index 3da4d29..846b02b 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -1207,7 +1207,7 @@ pci_alloc_resource(device_t dev, device_t child, int type, int *rid,
* If device doesn't have an interrupt routed, and is deserving of
* an interrupt, try to assign it one.
*/
- if ((type == SYS_RES_IRQ) && (cfg->intline == 255) && (cfg->intpin != 0)) {
+ if ((type == SYS_RES_IRQ) && (cfg->intline == 255 || cfg->intline == 0) && (cfg->intpin != 0)) {
cfg->intline = PCIB_ROUTE_INTERRUPT(device_get_parent(dev), child,
cfg->intpin);
if (cfg->intline != 255) {
OpenPOWER on IntegriCloud