diff options
author | Aaron Campbell <aaron@cvs.openbsd.org> | 2001-02-01 03:38:09 +0000 |
---|---|---|
committer | Aaron Campbell <aaron@cvs.openbsd.org> | 2001-02-01 03:38:09 +0000 |
commit | be6f95e73cf569c2b374d15432a35d294774c196 (patch) | |
tree | 6fa44ebd87050de2e8db157630a382a2b0440a32 /sys/dev | |
parent | 746954ab64bf9b5219a872c725a8216bb0de397b (diff) |
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.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/pci/pccbb.c | 11 |
1 files changed, 10 insertions, 1 deletions
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 */ |