diff options
author | 2012-10-15 12:16:02 +0200 | |
---|---|---|
committer | 2012-10-30 11:07:00 +0100 | |
commit | 34f3c89fda4fba9fe689db22253ca8db2f5e6386 (patch) | |
tree | 213e1b6e6ceaee42dc4f9ec74307794dc7a83b20 /sound/usb/usbaudio.h | |
parent | ALSA: usb-audio: Fix races at disconnection (diff) | |
download | linux-34f3c89fda4fba9fe689db22253ca8db2f5e6386.tar.gz linux-34f3c89fda4fba9fe689db22253ca8db2f5e6386.tar.bz2 linux-34f3c89fda4fba9fe689db22253ca8db2f5e6386.zip |
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 b8233ebe250f..ef42797f56fb 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; |