summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-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