ALSA: snd-usb: add snd_usb_audio-wide mutex
authorDaniel Mack <zonque@gmail.com>
Thu, 12 Apr 2012 11:51:10 +0000 (13:51 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 13 Apr 2012 08:21:55 +0000 (10:21 +0200)
This is needed for new card-wide list operations.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/card.c
sound/usb/usbaudio.h

index 4a7be7b98331538228a49e13c81faf6b7f8243b7..6bc88b7ce4fd61cd55282b976fc75816c07f1d28 100644 (file)
@@ -276,6 +276,7 @@ static int snd_usb_create_streams(struct snd_usb_audio *chip, int ctrlif)
 
 static int snd_usb_audio_free(struct snd_usb_audio *chip)
 {
+       mutex_destroy(&chip->mutex);
        kfree(chip);
        return 0;
 }
@@ -336,6 +337,7 @@ static int snd_usb_audio_create(struct usb_device *dev, int idx,
                return -ENOMEM;
        }
 
+       mutex_init(&chip->mutex);
        mutex_init(&chip->shutdown_mutex);
        chip->index = idx;
        chip->dev = dev;
index 3e2b035779362d6adc733ba5fa8396590e98e8d6..a16c21d2d7eddb87fbd878d25e3ff6fb735de640 100644 (file)
@@ -36,6 +36,7 @@ struct snd_usb_audio {
        struct snd_card *card;
        struct usb_interface *pm_intf;
        u32 usb_id;
+       struct mutex mutex;
        struct mutex shutdown_mutex;
        unsigned int shutdown:1;
        unsigned int probing:1;