summaryrefslogtreecommitdiff
path: root/sys/dev/pci/pccbb.c
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-11-30 08:12:01 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-11-30 08:12:01 +0000
commitb57cd214a576dfa1f757505c32ca120c8479dfd6 (patch)
tree03f37a288642a25eeb0545a75431d5b438679186 /sys/dev/pci/pccbb.c
parent937790df765970d1200464f574f741c75aac95d2 (diff)
Skip the sanity test introduced in r1.50 on TI devices, as it gets triggered
with valid devices.
Diffstat (limited to 'sys/dev/pci/pccbb.c')
-rw-r--r--sys/dev/pci/pccbb.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/sys/dev/pci/pccbb.c b/sys/dev/pci/pccbb.c
index faff048bcca..36e8fced11e 100644
--- a/sys/dev/pci/pccbb.c
+++ b/sys/dev/pci/pccbb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pccbb.c,v 1.53 2007/11/26 15:35:15 deraadt Exp $ */
+/* $OpenBSD: pccbb.c,v 1.54 2007/11/30 08:12:00 miod Exp $ */
/* $NetBSD: pccbb.c,v 1.96 2004/03/28 09:49:31 nakayama Exp $ */
/*
@@ -398,6 +398,7 @@ pccbbattach(parent, self, aux)
#endif
sc->sc_chipset = cb_chipset(pa->pa_id, &flags);
+ sc->sc_id = pa->pa_id;
#ifdef CBB_DEBUG
printf(" (chipflags %x)", flags);
@@ -590,10 +591,18 @@ pccbb_pci_callback(self)
base_memh = sc->sc_base_memh; /* socket regs memory handle */
/* check for dead device? */
- if (bus_space_read_4(base_memt, base_memh, CB_SOCKET_EVENT) == 0xffffffff &&
- bus_space_read_4(base_memt, base_memh, CB_SOCKET_MASK) == 0xffffffff) {
- printf("%s: controller is missing\n", sc->sc_dev.dv_xname);
- return;
+ switch (PCI_VENDOR(sc->sc_id)) {
+ case PCI_VENDOR_TI:
+ break;
+ default:
+ if (bus_space_read_4(base_memt, base_memh, CB_SOCKET_EVENT) ==
+ 0xffffffff && bus_space_read_4(base_memt, base_memh,
+ CB_SOCKET_MASK) == 0xffffffff) {
+ printf("%s: controller is missing\n",
+ sc->sc_dev.dv_xname);
+ return;
+ }
+ break;
}
/* bus bridge initialization */