summaryrefslogtreecommitdiffstats
path: root/sys/pci/intpm.c
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2009-09-19 08:56:28 +0000
committeravg <avg@FreeBSD.org>2009-09-19 08:56:28 +0000
commitb5cc6d26583c826010729266142444af8b80a58f (patch)
tree037263a39d0ed10bb7f3b3f4dbc0b5c3c9f85fdc /sys/pci/intpm.c
parent9a30bd624e007b44c0329a9c82c1ff6ba815882a (diff)
downloadFreeBSD-src-b5cc6d26583c826010729266142444af8b80a58f.zip
FreeBSD-src-b5cc6d26583c826010729266142444af8b80a58f.tar.gz
intpm/sb700: force polling mode if configured interrupt is SMI
instead of failing to attach
Diffstat (limited to 'sys/pci/intpm.c')
-rw-r--r--sys/pci/intpm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/pci/intpm.c b/sys/pci/intpm.c
index 13404c8..1cbe75d 100644
--- a/sys/pci/intpm.c
+++ b/sys/pci/intpm.c
@@ -167,6 +167,12 @@ intsmb_attach(device_t dev)
sc->poll == 0 ? "enabled" : "disabled");
printf("revision %d\n", pci_read_config(dev, PCI_REVID_SMB, 1));
+ if (!sc->poll && intr == PCI_INTR_SMB_SMI) {
+ device_printf(dev,
+ "using polling mode when configured interrupt is SMI\n");
+ sc->poll = 1;
+ }
+
if (sc->poll)
goto no_intr;
OpenPOWER on IntegriCloud