diff options
author | Daniel Mack <zonque@gmail.com> | 2012-04-12 13:51:10 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-04-13 10:21:55 +0200 |
commit | 596580d0ee1d17af70920a7bb06c963418014dd1 (patch) | |
tree | f849b2f0a5b7ea698efcdc26878b73939ad7a835 | |
parent | dd775ae2549217d3ae09363e3edb305d0fa19928 (diff) | |
download | talos-op-linux-596580d0ee1d17af70920a7bb06c963418014dd1.tar.gz talos-op-linux-596580d0ee1d17af70920a7bb06c963418014dd1.zip |
ALSA: snd-usb: add snd_usb_audio-wide mutex
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>
-rw-r--r-- | sound/usb/card.c | 2 | ||||
-rw-r--r-- | sound/usb/usbaudio.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/sound/usb/card.c b/sound/usb/card.c index 4a7be7b98331..6bc88b7ce4fd 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 3e2b03577936..a16c21d2d7ed 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; |