diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2007-11-30 08:12:01 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2007-11-30 08:12:01 +0000 |
commit | b57cd214a576dfa1f757505c32ca120c8479dfd6 (patch) | |
tree | 03f37a288642a25eeb0545a75431d5b438679186 /sys/dev/pci/pccbb.c | |
parent | 937790df765970d1200464f574f741c75aac95d2 (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.c | 19 |
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 */ |