ALSA: ctl: Stop notification after disconnection
snd_ctl_remove() has a notification for the removal event. It's superfluous when done during the device got disconnected. Although the notification itself is mostly harmless, it may potentially be harmful, and should be suppressed. Actually some components PCM may free ctl elements during the disconnect or free callbacks, thus it's no theoretical issue. This patch adds the check of card->shutdown flag for avoiding unnecessary notifications after (or during) the disconnect. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
8a132099f0
Коммит
f388cdcdd1
|
@ -160,6 +160,8 @@ void snd_ctl_notify(struct snd_card *card, unsigned int mask,
|
|||
|
||||
if (snd_BUG_ON(!card || !id))
|
||||
return;
|
||||
if (card->shutdown)
|
||||
return;
|
||||
read_lock(&card->ctl_files_rwlock);
|
||||
#if IS_ENABLED(CONFIG_SND_MIXER_OSS)
|
||||
card->mixer_oss_change_count++;
|
||||
|
|
Загрузка…
Ссылка в новой задаче