OSDN Git Service

ASoC: max98090: fix deadlock in max98090_dapm_put_enum_double()
authorTzung-Bi Shih <tzungbi@google.com>
Fri, 17 Jan 2020 07:38:14 +0000 (15:38 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 21 Jan 2020 17:15:20 +0000 (17:15 +0000)
commit294b7380ffe88d4a0626af1fee5843a3db0c913c
treef33cf004b4f10524b397995d0e38bdab0b0ef4e7
parent839284e794822ebc8b66f32006a5d4cad863e1fb
ASoC: max98090: fix deadlock in max98090_dapm_put_enum_double()

Commit 62d5ae4cafb7 ("ASoC: max98090: save and restore SHDN when
changing sensitive registers SHDN bit") uses dapm_mutex to protect SHDN
bit.  However, snd_soc_dapm_put_enum_double() in
max98090_dapm_put_enum_double() acquires the dapm_mutex again which
cause a deadlock.

Use snd_soc_dapm_put_enum_double_locked() instead to fix the deadlock.

Fixes: 62d5ae4cafb7 ("ASoC: max98090: save and restore SHDN when changing sensitive registers SHDN bit")
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20200117073814.82441-4-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/max98090.c