2022-10-27 15:26:13

by Steven Rostedt

[permalink] [raw]
Subject: [RFC][PATCH v2 29/31] timers: ALSA: Use del_timer_shutdown() before freeing timer

From: "Steven Rostedt (Google)" <[email protected]>

Before a timer is freed, del_timer_shutdown() must be called.

Link: https://lore.kernel.org/all/[email protected]/

Cc: Jaroslav Kysela <[email protected]>
Cc: Takashi Iwai <[email protected]>
Cc: Austin Kim <[email protected]>
Cc: [email protected]
Signed-off-by: Steven Rostedt (Google) <[email protected]>
---
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


2022-10-28 09:24:54

by Takashi Iwai

[permalink] [raw]
Subject: Re: [RFC][PATCH v2 29/31] timers: ALSA: Use del_timer_shutdown() before freeing timer

On Thu, 27 Oct 2022 17:05:54 +0200,
Steven Rostedt wrote:
>
> From: "Steven Rostedt (Google)" <[email protected]>
>
> Before a timer is freed, del_timer_shutdown() must be called.
>
> Link: https://lore.kernel.org/all/[email protected]/
>
> Cc: Jaroslav Kysela <[email protected]>
> Cc: Takashi Iwai <[email protected]>
> Cc: Austin Kim <[email protected]>
> Cc: [email protected]
> Signed-off-by: Steven Rostedt (Google) <[email protected]>

Reviewed-by: Takashi Iwai <[email protected]>

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
>