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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 May 2021 08:40:26 +0000 (10:40 +0200)
[ Upstream commit abc21649b3e5c34b143bf86f0c78e33d5815e250 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/core/init.c

index 02e96c580cb74253ec3b4314cd719a57e791716a..59377e579adb1e647924cf06d139b1432ae09960 100644 (file)
@@ -406,10 +406,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 */