+45
−44
Loading
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: e92e25f7 ("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>