]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
ALSA: usb-audio: scarlett2: Fix data_mutex lock
authorGeoffrey D. Bennett <g@b4.vu>
Sun, 20 Jun 2021 16:46:43 +0000 (02:16 +0930)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Mon, 20 Sep 2021 16:48:53 +0000 (18:48 +0200)
commit2365e9abc905af3362078142e23de819961c9c81
tree04bce599060d1a17de9cbbb847e34395389f994a
parentb4ad0542a59e2d70bb0a3290bc0b11b4e8128938
ALSA: usb-audio: scarlett2: Fix data_mutex lock

BugLink: https://bugs.launchpad.net/bugs/1939440
[ Upstream commit 9b5ddea9ce5a68d7d2bedcb69901ac2a86c96c7b ]

The private->vol_updated flag was being checked outside of the
mutex_lock/unlock() of private->data_mutex leading to the volume data
being fetched twice from the device unnecessarily or old volume data
being returned.

Update scarlett2_*_ctl_get() and include the private->vol_updated flag
check inside the critical region.

Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Link: https://lore.kernel.org/r/20210620164643.GA9216@m.b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
sound/usb/mixer_scarlett_gen2.c