summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/isa/mss.c
diff options
context:
space:
mode:
authormdodd <mdodd@FreeBSD.org>2005-02-27 23:32:21 +0000
committermdodd <mdodd@FreeBSD.org>2005-02-27 23:32:21 +0000
commit133f3df8d5d567bb28ff349d63163952438dc1ff (patch)
treee4eb3b5e2ea0a42f72a2b0ea24c6c8d225cf37ed /sys/dev/sound/isa/mss.c
parent668a0286708d7bde5d5f9e9076fa8ffe8ec62f34 (diff)
downloadFreeBSD-src-133f3df8d5d567bb28ff349d63163952438dc1ff.zip
FreeBSD-src-133f3df8d5d567bb28ff349d63163952438dc1ff.tar.gz
Use mss_{format,speed}() rather than chn_set{format,speed}() and hold
mss lock across call. This allows my Thinkpad 600E to resume with the sound driver loaded and vchans enabled.
Diffstat (limited to 'sys/dev/sound/isa/mss.c')
-rw-r--r--sys/dev/sound/isa/mss.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/sound/isa/mss.c b/sys/dev/sound/isa/mss.c
index 60b1927..11a5e4f 100644
--- a/sys/dev/sound/isa/mss.c
+++ b/sys/dev/sound/isa/mss.c
@@ -1825,8 +1825,10 @@ mss_resume(device_t dev)
if (mss->bd_id == MD_CS423X) {
/* Needed on IBM Thinkpad 600E */
- chn_setformat(mss->pch.channel, mss->pch.channel->format);
- chn_setspeed(mss->pch.channel, mss->pch.channel->speed);
+ mss_lock(mss);
+ mss_format(&mss->pch, mss->pch.channel->format);
+ mss_speed(&mss->pch, mss->pch.channel->speed);
+ mss_unlock(mss);
}
return 0;
OpenPOWER on IntegriCloud