aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristos Margiolis <christos@FreeBSD.org>2026-04-16 12:30:25 +0000
committerChristos Margiolis <christos@FreeBSD.org>2026-05-27 15:32:11 +0000
commite87654db5a0923856afbaace9bd0975331782044 (patch)
tree955fe694a1fae03194f0e44d95f4c1a6993d08b2
parent9a00e0b8ca566b6942874eb08c03baf035a17702 (diff)
snd_uaudio: Stop using mixer_get_lock()
There is no reason to lock snd_mixer->lock here, since the only thing we are doing with snd_mixer is to call mix_getdevinfo() and mix_get_dev(), which are one-line getters, which are needed to eventually call uaudio_get_child_index_by_dev(). Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
-rw-r--r--sys/dev/sound/usb/uaudio_pcm.c25
1 files changed, 2 insertions, 23 deletions
diff --git a/sys/dev/sound/usb/uaudio_pcm.c b/sys/dev/sound/usb/uaudio_pcm.c
index c24c111f983c..4b1762cfc3ec 100644
--- a/sys/dev/sound/usb/uaudio_pcm.c
+++ b/sys/dev/sound/usb/uaudio_pcm.c
@@ -134,39 +134,18 @@ ua_mixer_init(struct snd_mixer *m)
static int
ua_mixer_set(struct snd_mixer *m, unsigned type, unsigned left, unsigned right)
{
- struct mtx *mtx = mixer_get_lock(m);
- uint8_t do_unlock;
-
- if (mtx_owned(mtx)) {
- do_unlock = 0;
- } else {
- do_unlock = 1;
- mtx_lock(mtx);
- }
uaudio_mixer_set(mix_getdevinfo(m), m, type, left, right);
- if (do_unlock) {
- mtx_unlock(mtx);
- }
+
return (left | (right << 8));
}
static uint32_t
ua_mixer_setrecsrc(struct snd_mixer *m, uint32_t src)
{
- struct mtx *mtx = mixer_get_lock(m);
int retval;
- uint8_t do_unlock;
- if (mtx_owned(mtx)) {
- do_unlock = 0;
- } else {
- do_unlock = 1;
- mtx_lock(mtx);
- }
retval = uaudio_mixer_setrecsrc(mix_getdevinfo(m), m, src);
- if (do_unlock) {
- mtx_unlock(mtx);
- }
+
return (retval);
}