diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-02-14 08:05:47 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-02-17 09:16:25 (GMT) |
commit | e2439a5401486d8b7f1076fc6df9b80143ed62e2 (patch) | |
tree | 3dd69d1751290ac803fe9014db2746523eaac058 /sound/usb/usx2y/usbusx2y.h | |
parent | 1f85a0f0cce583a8ac436bda8807ec8fd8e8ef16 (diff) | |
download | linux-e2439a5401486d8b7f1076fc6df9b80143ed62e2.tar.xz |
ALSA: usx2y: Don't peep the card internal object
Avoid traversing the device object list of the card instance just for
checking the PCM streams. The driver's private object already
contains the array of substream pointers, so it can be simply looked
through. The card internal may be restructured in future, thus better
not to rely on it.
Also, this fixes the possible deadlocks in PCM mutex. Instead of
taking multiple PCM mutexes, just take the common mutex in all
places. Along with it, rename prepare_mutex as pcm_mutex.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/usx2y/usbusx2y.h')
-rw-r--r-- | sound/usb/usx2y/usbusx2y.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/usb/usx2y/usbusx2y.h b/sound/usb/usx2y/usbusx2y.h index e43c0a8..6ae6b08 100644 --- a/sound/usb/usx2y/usbusx2y.h +++ b/sound/usb/usx2y/usbusx2y.h @@ -36,7 +36,7 @@ struct usX2Ydev { unsigned int rate, format; int chip_status; - struct mutex prepare_mutex; + struct mutex pcm_mutex; struct us428ctls_sharedmem *us428ctls_sharedmem; int wait_iso_frame; wait_queue_head_t us428ctls_wait_queue_head; |