Re: [PATCH 1/2] ALSA: aloop: Remove redundant locking in timer open function
From: Takashi Iwai
Date: Fri Nov 22 2019 - 13:13:58 EST
On Fri, 22 Nov 2019 18:52:17 +0100,
Andrew Gabbasov wrote:
>
> loopback_parse_timer_id() uses snd_card_ref(), that can lock on mutex,
> also snd_timer_instance_new() uses non-atomic allocation, that can sleep.
> So, both functions can not be called from loopback_snd_timer_open()
> with cable->lock spinlock locked.
>
> Moreover, most part of loopback_snd_timer_open() function body works
> when the opposite stream of the same cable does not yet exist, and
> the current stream is not yet completely open and can't be running,
> so existing locking of loopback->cable_lock mutex is enough to protect
> from conflicts with simultaneous opening or closing.
> Locking of cable->lock spinlock is not needed in this case.
>
> Fixes: 26c53379f98d ("ALSA: aloop: Support selection of snd_timer instead of jiffies")
> Signed-off-by: Andrew Gabbasov <andrew_gabbasov@xxxxxxxxxx>
Applied, thanks.
Takashi