summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2006-01-12 00:22:00 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2006-01-12 00:22:00 +0000
commit36245461b399c1850940934ef6ef9559cc8aaffd (patch)
treebe885664d231de13fc536dfd61d39c9b0f82e761
parent5856e2eb9fa46f751b88b486cdc02248682ae8e5 (diff)
if we cannot map the interrupt, try to do iic in polling mode anyways.
this lets iic work on at least a few other machines, we hope without any downside. at least we know from the previous check that it is not wired to SMI, right?; ok grange
-rw-r--r--sys/dev/pci/piixpm.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/pci/piixpm.c b/sys/dev/pci/piixpm.c
index bab06580b21..d6ed9c59f7b 100644
--- a/sys/dev/pci/piixpm.c
+++ b/sys/dev/pci/piixpm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: piixpm.c,v 1.14 2006/01/05 10:43:15 grange Exp $ */
+/* $OpenBSD: piixpm.c,v 1.15 2006/01/12 00:21:59 deraadt Exp $ */
/*
* Copyright (c) 2005, 2006 Alexander Yurchenko <grange@openbsd.org>
@@ -134,8 +134,8 @@ piixpm_attach(struct device *parent, struct device *self, void *aux)
} else if ((conf & PIIX_SMB_HOSTC_INTMASK) == PIIX_SMB_HOSTC_IRQ) {
/* Install interrupt handler */
if (pci_intr_map(pa, &ih)) {
- printf(": can't map interrupt\n");
- goto fail;
+ printf(": can't map interrupt");
+ goto ok;
}
intrstr = pci_intr_string(pa->pa_pc, ih);
sc->sc_ih = pci_intr_establish(pa->pa_pc, ih, IPL_BIO,
@@ -149,6 +149,7 @@ piixpm_attach(struct device *parent, struct device *self, void *aux)
}
printf(": %s", intrstr);
} else {
+ok:
sc->sc_poll = 1;
}