ASoC: fsl_xcvr: Revert fix missing lock in fsl_xcvr_mode_put()
authorZiyi Guo <n7l8m4@u.northwestern.edu>
Tue, 10 Feb 2026 18:57:14 +0000 (18:57 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 10 Feb 2026 19:24:04 +0000 (19:24 +0000)
commit9f16d96e1222391a6b996a1b676bec14fb91e3b2
treea808f4a4269f946d5d353761e175a412a146a3e8
parentf14c94d21f3ffcd6652217c2c74a26b6ba9ad741
ASoC: fsl_xcvr: Revert fix missing lock in fsl_xcvr_mode_put()

This reverts commit f51424872760 ("ASoC: fsl_xcvr: fix missing lock in fsl_xcvr_mode_put()").

The original patch attempted to acquire the card->controls_rwsem lock in
fsl_xcvr_mode_put(). However, this function is called from the upper ALSA
core function snd_ctl_elem_write(), which already holds the write lock on
controls_rwsem for the whole put operation. So there is no need to simply
hold the lock for fsl_xcvr_activate_ctl() again.

Acquiring the read lock while holding the write lock in the same thread
results in a deadlock and a hung task, as reported by Alexander Stein.

Fixes: f51424872760 ("ASoC: fsl_xcvr: fix missing lock in fsl_xcvr_mode_put()")
Reported-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Closes: https://lore.kernel.org/linux-sound/5056506.GXAFRqVoOG@steina-w/
Signed-off-by: Ziyi Guo <n7l8m4@u.northwestern.edu>
Link: https://patch.msgid.link/20260210185714.556385-1-n7l8m4@u.northwestern.edu
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_xcvr.c