summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcg <cg@FreeBSD.org>2000-01-29 00:18:29 +0000
committercg <cg@FreeBSD.org>2000-01-29 00:18:29 +0000
commitc7803fdb7dbacae75b89520eb42515b6b76152cc (patch)
tree0112c22e74c0b01110c6509ce2efb7ce3a0efbd9
parentd6a7c1c5542b380478d7d3da71a7f1dbcc18e10d (diff)
downloadFreeBSD-src-c7803fdb7dbacae75b89520eb42515b6b76152cc.zip
FreeBSD-src-c7803fdb7dbacae75b89520eb42515b6b76152cc.tar.gz
differentiate cmi8330 and als100 pnp cards based on their vendor id. this
is a kludge for 4.0
-rw-r--r--sys/dev/sound/isa/mss.c6
-rw-r--r--sys/dev/sound/isa/sbc.c9
2 files changed, 13 insertions, 2 deletions
diff --git a/sys/dev/sound/isa/mss.c b/sys/dev/sound/isa/mss.c
index c7db5b8..6a1a3ed 100644
--- a/sys/dev/sound/isa/mss.c
+++ b/sys/dev/sound/isa/mss.c
@@ -1343,6 +1343,12 @@ static struct isa_pnp_id pnpmss_ids[] = {
static int
pnpmss_probe(device_t dev)
{
+ u_int32_t lid, vid;
+
+ lid = isa_get_logicalid(dev);
+ vid = isa_get_vendorid(dev);
+ if (lid == 0x01000000 && vid != 0x0100a90d) /* CMI0001 */
+ return ENXIO;
return ISA_PNP_PROBE(device_get_parent(dev), dev, pnpmss_ids);
}
diff --git a/sys/dev/sound/isa/sbc.c b/sys/dev/sound/isa/sbc.c
index d11d413..2178ff3 100644
--- a/sys/dev/sound/isa/sbc.c
+++ b/sys/dev/sound/isa/sbc.c
@@ -220,8 +220,13 @@ static int
sbc_probe(device_t dev)
{
char *s = NULL;
- u_int32_t logical_id = isa_get_logicalid(dev);
- if (logical_id) {
+ u_int32_t lid, vid;
+
+ lid = isa_get_logicalid(dev);
+ vid = isa_get_vendorid(dev);
+ if (lid) {
+ if (lid == 0x01000000 && vid != 0x01009305) /* ALS0001 */
+ return ENXIO;
/* Check pnp ids */
return ISA_PNP_PROBE(device_get_parent(dev), dev, sbc_ids);
} else {
OpenPOWER on IntegriCloud