diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/io/audio/drv/audiols/audiols.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/usr/src/uts/common/io/audio/drv/audiols/audiols.c b/usr/src/uts/common/io/audio/drv/audiols/audiols.c index 7a7dbe087d..0fdde27414 100644 --- a/usr/src/uts/common/io/audio/drv/audiols/audiols.c +++ b/usr/src/uts/common/io/audio/drv/audiols/audiols.c @@ -1061,9 +1061,14 @@ audigyls_configure_mixer(audigyls_dev_t *dev) * made a mistake somewhere. But I can't seem to * figure out where it lies. */ - r = 0xe4; - for (int i = 0; i < 4; i++) - r |= v1 << (16 + i * 3); /* Select input */ + if (dev->ac97_recsrc != NULL) { + r = 0xe4; + for (int i = 0; i < 4; i++) + r |= v1 << (16 + i * 3); /* Select input */ + } else { + r = (v1 << 28) | (v1 << 24) | (v1 << 20) | (v1 << 16) | + v1; + } } write_reg(dev, P17RECSEL, r); |