mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
ASoC: soc-core: drop delayed_work_pending() check before flush
The delayed_work_pending() check before flush_delayed_work() in soc_free_pcm_runtime() is unnecessary and racy. flush_delayed_work() is safe to call unconditionally - it is a no-op when no work is pending. Remove the check. The original check was added by commit9c9b652034("ASoC: core: only flush inited work during free") but delayed_work_pending() followed by flush_delayed_work() has a time-of-check/time-of-use window where work can become pending between the two calls. Fixes:9c9b652034("ASoC: core: only flush inited work during free") Signed-off-by: Matteo Cotifava <cotifavamatteo@gmail.com> Link: https://patch.msgid.link/20260309215412.545628-2-cotifavamatteo@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
facfdef64d
commit
3c99c9f0ed
@@ -462,8 +462,7 @@ static void soc_free_pcm_runtime(struct snd_soc_pcm_runtime *rtd)
|
||||
|
||||
list_del(&rtd->list);
|
||||
|
||||
if (delayed_work_pending(&rtd->delayed_work))
|
||||
flush_delayed_work(&rtd->delayed_work);
|
||||
flush_delayed_work(&rtd->delayed_work);
|
||||
snd_soc_pcm_component_free(rtd);
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user