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 | |
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')
-rw-r--r-- | sys/dev/pci/pccbb.c | 19 | ||||
-rw-r--r-- | sys/dev/pci/pccbbvar.h | 3 |
2 files changed, 16 insertions, 6 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 */ diff --git a/sys/dev/pci/pccbbvar.h b/sys/dev/pci/pccbbvar.h index 894161851db..5b973be8dfc 100644 --- a/sys/dev/pci/pccbbvar.h +++ b/sys/dev/pci/pccbbvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pccbbvar.h,v 1.12 2006/10/12 16:35:51 grange Exp $ */ +/* $OpenBSD: pccbbvar.h,v 1.13 2007/11/30 08:12:00 miod Exp $ */ /* $NetBSD: pccbbvar.h,v 1.13 2000/06/08 10:28:29 haya Exp $ */ /* * Copyright (c) 1999 HAYAKAWA Koichi. All rights reserved. @@ -141,6 +141,7 @@ struct pccbb_softc { pci_chipset_tag_t sc_pc; pcitag_t sc_tag; + pcireg_t sc_id; int sc_chipset; /* chipset id */ int sc_ints_on; |