diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-10-15 12:16:02 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-10-30 11:07:00 +0100 |
commit | 34f3c89fda4fba9fe689db22253ca8db2f5e6386 (patch) | |
tree | 213e1b6e6ceaee42dc4f9ec74307794dc7a83b20 /sound/usb/usbaudio.h | |
parent | 978520b75f0a1ce82b17e1e8186417250de6d545 (diff) | |
download | op-kernel-dev-34f3c89fda4fba9fe689db22253ca8db2f5e6386.zip op-kernel-dev-34f3c89fda4fba9fe689db22253ca8db2f5e6386.tar.gz |
ALSA: usb-audio: Use rwsem for disconnect protection
Replace mutex with rwsem for codec->shutdown protection so that
concurrent accesses are allowed.
Also add the protection to snd_usb_autosuspend() and
snd_usb_autoresume(), too.
Reported-by: Matthieu CASTET <matthieu.castet@parrot.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/usbaudio.h')
-rw-r--r-- | sound/usb/usbaudio.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h index b8233eb..ef42797 100644 --- a/sound/usb/usbaudio.h +++ b/sound/usb/usbaudio.h @@ -37,7 +37,7 @@ struct snd_usb_audio { struct usb_interface *pm_intf; u32 usb_id; struct mutex mutex; - struct mutex shutdown_mutex; + struct rw_semaphore shutdown_rwsem; unsigned int shutdown:1; unsigned int probing:1; unsigned int autosuspended:1; |