]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: SDCA: Correct FDL locking in sdca_fdl_process()
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 20 Nov 2025 15:30:13 +0000 (15:30 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 20 Nov 2025 17:22:52 +0000 (17:22 +0000)
commitcc58055bfefa065b68a8ab92a0196c9b24f46f02
tree07d040edec2bc0c857a63b2c641066fb1a5e9113
parent5fe65824b74c0414f105f0535437108cd6c31cc7
ASoC: SDCA: Correct FDL locking in sdca_fdl_process()

The current locking in sdca_fdl_process() locks over
sdca_ump_cancel_timeout() and the timeout work function takes the same
lock, this can lead to a deadlock if the work runs as part of the
cancel. To fix this use scoped_guard and move the cancel timeout to be
outside the lock.

Fixes: e92e25f77748 ("ASoC: SDCA: Add UMP timeout handling for FDL")
Tested-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Tested-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251120153023.2105663-5-ckeepax@opensource.cirrus.com
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sdca/sdca_fdl.c