diff options
author | Takashi Iwai <tiwai@suse.de> | 2022-01-31 08:57:38 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2022-01-31 08:58:50 +0100 |
commit | b837a9f5ab3bdfab9233c9f98a6bef717673a3e5 (patch) | |
tree | 35cf81809f324cd4636dea946bcfc4b7b02ae8ed /sound/pci/ad1889.c | |
parent | ALSA: hda: Fix signedness of sscanf() arguments (diff) | |
download | linux-b837a9f5ab3bdfab9233c9f98a6bef717673a3e5.tar.xz linux-b837a9f5ab3bdfab9233c9f98a6bef717673a3e5.zip |
ALSA: hda: realtek: Fix race at concurrent COEF updates
The COEF access is done with two steps: setting the index then read or
write the data. When multiple COEF accesses are performed
concurrently, the index and data might be paired unexpectedly.
In most cases, this isn't a big problem as the COEF setup is done at
the initialization, but some dynamic changes like the mute LED may hit
such a race.
For avoiding the racy COEF accesses, this patch introduces a new
mutex coef_mutex to alc_spec, and wrap the COEF accessing functions
with it.
Reported-by: Alexander Sergeyev <sergeev917@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220111195229.a77wrpjclqwrx4bx@localhost.localdomain
Link: https://lore.kernel.org/r/20220131075738.24323-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/ad1889.c')
0 files changed, 0 insertions, 0 deletions