ALSA: core: remove redundant spin_lock pair in snd_card_disconnect
authorJia Zhou <zhou.jia2@zte.com.cn>
Tue, 30 Mar 2021 11:19:23 +0000 (13:19 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 30 Mar 2021 11:50:15 +0000 (13:50 +0200)
modification in commit 2a3f7221acdd ("ALSA: core: Fix card races between
register and disconnect") resulting in this problem.

Fixes: 2a3f7221acdd ("ALSA: core: Fix card races between register and disconnect")
Signed-off-by: Jia Zhou <zhou.jia2@zte.com.cn>
Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>
Link: https://lore.kernel.org/r/1616989007-34429-1-git-send-email-wang.yi59@zte.com.cn
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/init.c

index 45f4b01de23fb41b9ee1f0a09d4efc438a0df448..ef41f5b3a240db656e31034ce12189857cc08d1a 100644 (file)
@@ -398,10 +398,8 @@ int snd_card_disconnect(struct snd_card *card)
                return 0;
        }
        card->shutdown = 1;
-       spin_unlock(&card->files_lock);
 
        /* replace file->f_op with special dummy operations */
-       spin_lock(&card->files_lock);
        list_for_each_entry(mfile, &card->files_list, list) {
                /* it's critical part, use endless loop */
                /* we have no room to fail */