From: Daniel Mack Date: Thu, 12 Apr 2012 11:51:10 +0000 (+0200) Subject: ALSA: snd-usb: add snd_usb_audio-wide mutex X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=596580d0ee1d17af70920a7bb06c963418014dd1;p=linux.git ALSA: snd-usb: add snd_usb_audio-wide mutex This is needed for new card-wide list operations. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai --- diff --git a/sound/usb/card.c b/sound/usb/card.c index 4a7be7b983315..6bc88b7ce4fd6 100644 --- a/sound/usb/card.c +++ b/sound/usb/card.c @@ -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; diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h index 3e2b035779362..a16c21d2d7edd 100644 --- a/sound/usb/usbaudio.h +++ b/sound/usb/usbaudio.h @@ -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;