Re: [RFC][PATCH v2 29/31] timers: ALSA: Use del_timer_shutdown() before freeing timer
From: Takashi Iwai
Date: Fri Oct 28 2022 - 05:17:10 EST
On Thu, 27 Oct 2022 17:05:54 +0200,
Steven Rostedt wrote:
>
> From: "Steven Rostedt (Google)" <rostedt@xxxxxxxxxxx>
>
> Before a timer is freed, del_timer_shutdown() must be called.
>
> Link: https://lore.kernel.org/all/20220407161745.7d6754b3@xxxxxxxxxxxxxxxxxx/
>
> Cc: Jaroslav Kysela <perex@xxxxxxxx>
> Cc: Takashi Iwai <tiwai@xxxxxxxx>
> Cc: Austin Kim <austin.kim@xxxxxxx>
> Cc: alsa-devel@xxxxxxxxxxxxxxxx
> Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
Reviewed-by: Takashi Iwai <tiwai@xxxxxxx>
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
>