summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/audio/drv/audiols/audiols.c11
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);