From be6f95e73cf569c2b374d15432a35d294774c196 Mon Sep 17 00:00:00 2001 From: Aaron Campbell Date: Thu, 1 Feb 2001 03:38:09 +0000 Subject: Do not attempt to attach cards that have unsupported (i.e., non-5, non-3) voltages. Fixes the problem with those silly SCM Microsystems PCI-CardBus dock boards that are often shipped with Lucent WaveLAN cards. Thanks to drahn@openbsd.org for testing and dave@arbor.net for originally reporting the problem. --- sys/dev/pci/pccbb.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'sys/dev') diff --git a/sys/dev/pci/pccbb.c b/sys/dev/pci/pccbb.c index de05bbe2de4..acba630b010 100644 --- a/sys/dev/pci/pccbb.c +++ b/sys/dev/pci/pccbb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pccbb.c,v 1.16 2001/01/27 04:44:20 mickey Exp $ */ +/* $OpenBSD: pccbb.c,v 1.17 2001/02/01 03:38:08 aaron Exp $ */ /* $NetBSD: pccbb.c,v 1.42 2000/06/16 23:41:35 cgd Exp $ */ /* @@ -1344,6 +1344,15 @@ pccbb_detect_card(sc) bus_space_read_4(base_memt, base_memh, CB_SOCKET_STAT); int retval = 0; + /* + * The SCM Microsystems TI1225-based PCI-CardBus dock card that + * ships with some Lucent WaveLAN cards has only one physical slot + * but OpenBSD probes two. The phantom card in the second slot can + * be ignored by punting on unsupported voltages. + */ + if (sockstat & CB_SOCKET_STAT_XVCARD) + return 0; + /* CD1 and CD2 asserted */ if (0x00 == (sockstat & CB_SOCKET_STAT_CD)) { /* card must be present */ -- cgit v1.2.3