From e7437094ebbbd4d60375f3927c017ff00cbab1de Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Tue, 22 Dec 2009 21:47:48 -0800 Subject: 6912609 audiols recording non-functional on Creative Audigy SE --- usr/src/uts/common/io/audio/drv/audiols/audiols.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'usr/src') 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); -- cgit v1.2.3