From 24d036ccb418d7cfa5a821d5a70b3d3da2d63bb3 Mon Sep 17 00:00:00 2001 From: Oliver Neukum Date: Wed, 20 Apr 2011 12:29:22 +0200 Subject: [PATCH] usb-audio:fix potential deadlock on unplug Decrease the scope of a lock to fix a deadlock Signed-off-by: Oliver Neukum --- sound/usb/card.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/sound/usb/card.c b/sound/usb/card.c index a90662a..1d3d9f0 100644 --- a/sound/usb/card.c +++ b/sound/usb/card.c @@ -554,6 +554,7 @@ static void snd_usb_audio_disconnect(struct usb_device *dev, void *ptr) mutex_lock(&chip->shutdown_mutex); chip->shutdown = 1; chip->num_interfaces--; + mutex_unlock(&chip->shutdown_mutex); if (chip->num_interfaces <= 0) { snd_card_disconnect(card); /* release the pcm resources */ @@ -569,11 +570,9 @@ static void snd_usb_audio_disconnect(struct usb_device *dev, void *ptr) snd_usb_mixer_disconnect(p); } usb_chip[chip->index] = NULL; - mutex_unlock(&chip->shutdown_mutex); mutex_unlock(®ister_mutex); snd_card_free_when_closed(card); } else { - mutex_unlock(&chip->shutdown_mutex); mutex_unlock(®ister_mutex); } } -- 1.7.1