[RFC][PATCH v2 29/31] timers: ALSA: Use del_timer_shutdown() before freeing timer
From: "Steven Rostedt (Google)" rostedt@goodmis.org
Before a timer is freed, del_timer_shutdown() must be called.
Link: https://lore.kernel.org/all/20220407161745.7d6754b3@gandalf.local.home/
Cc: Jaroslav Kysela perex@perex.cz Cc: Takashi Iwai tiwai@suse.com Cc: Austin Kim austin.kim@lge.com Cc: alsa-devel@alsa-project.org Signed-off-by: Steven Rostedt (Google) rostedt@goodmis.org --- sound/i2c/other/ak4117.c | 2 +- sound/synth/emux/emux.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/i2c/other/ak4117.c b/sound/i2c/other/ak4117.c index 1bc43e927d82..5269ab7321a4 100644 --- a/sound/i2c/other/ak4117.c +++ b/sound/i2c/other/ak4117.c @@ -47,7 +47,7 @@ static void reg_dump(struct ak4117 *ak4117)
static void snd_ak4117_free(struct ak4117 *chip) { - del_timer_sync(&chip->timer); + del_timer_shutdown(&chip->timer); kfree(chip); }
diff --git a/sound/synth/emux/emux.c b/sound/synth/emux/emux.c index a870759d179e..a43025f466bb 100644 --- a/sound/synth/emux/emux.c +++ b/sound/synth/emux/emux.c @@ -129,7 +129,7 @@ int snd_emux_free(struct snd_emux *emu) if (! emu) return -EINVAL;
- del_timer_sync(&emu->tlist); + del_timer_shutdown(&emu->tlist);
snd_emux_proc_free(emu); snd_emux_delete_virmidi(emu);
On Thu, 27 Oct 2022 17:05:54 +0200, Steven Rostedt wrote:
From: "Steven Rostedt (Google)" rostedt@goodmis.org
Before a timer is freed, del_timer_shutdown() must be called.
Link: https://lore.kernel.org/all/20220407161745.7d6754b3@gandalf.local.home/
Cc: Jaroslav Kysela perex@perex.cz Cc: Takashi Iwai tiwai@suse.com Cc: Austin Kim austin.kim@lge.com Cc: alsa-devel@alsa-project.org Signed-off-by: Steven Rostedt (Google) rostedt@goodmis.org
Reviewed-by: Takashi Iwai tiwai@suse.de
I think there are a few other codes in sound/* that should use del_timer_shutdown() (although it works practically as is for now). I'll convert them once when the API is included.
thanks,
Takashi
sound/i2c/other/ak4117.c | 2 +- sound/synth/emux/emux.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/i2c/other/ak4117.c b/sound/i2c/other/ak4117.c index 1bc43e927d82..5269ab7321a4 100644 --- a/sound/i2c/other/ak4117.c +++ b/sound/i2c/other/ak4117.c @@ -47,7 +47,7 @@ static void reg_dump(struct ak4117 *ak4117)
static void snd_ak4117_free(struct ak4117 *chip) {
- del_timer_sync(&chip->timer);
- del_timer_shutdown(&chip->timer); kfree(chip);
}
diff --git a/sound/synth/emux/emux.c b/sound/synth/emux/emux.c index a870759d179e..a43025f466bb 100644 --- a/sound/synth/emux/emux.c +++ b/sound/synth/emux/emux.c @@ -129,7 +129,7 @@ int snd_emux_free(struct snd_emux *emu) if (! emu) return -EINVAL;
- del_timer_sync(&emu->tlist);
del_timer_shutdown(&emu->tlist);
snd_emux_proc_free(emu); snd_emux_delete_virmidi(emu);
-- 2.35.1
participants (2)
-
Steven Rostedt
-
Takashi Iwai