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 /sound/usb | |
parent | dd775ae2549217d3ae09363e3edb305d0fa19928 (diff) | |
download | op-kernel-dev-596580d0ee1d17af70920a7bb06c963418014dd1.zip op-kernel-dev-596580d0ee1d17af70920a7bb06c963418014dd1.tar.gz |
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>
Diffstat (limited to 'sound/usb')
-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 4a7be7b..6bc88b7 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 3e2b035..a16c21d 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; |