summaryrefslogtreecommitdiffstats
path: root/sound/usb/caiaq/control.c
diff options
context:
space:
mode:
authorEldad Zack <eldad@fogrefinery.com>2012-12-03 20:30:09 +0100
committerTakashi Iwai <tiwai@suse.de>2012-12-04 08:14:31 +0100
commit0d9741c0e058e2857fe3fed37975515dc8dcd21d (patch)
treec4a399e00c0132e82c0d95b9537d27738a4241c3 /sound/usb/caiaq/control.c
parentf5f165418cabf2218eb466c0e94693b8b1aee88b (diff)
downloadlinux-0d9741c0e058e2857fe3fed37975515dc8dcd21d.tar.gz
linux-0d9741c0e058e2857fe3fed37975515dc8dcd21d.tar.bz2
linux-0d9741c0e058e2857fe3fed37975515dc8dcd21d.zip
ALSA: usb-audio: sync ep init fix for audioformat mismatch
Commit 947d299686aa9cc8aecf749d54e8475c6e498956 , "ALSA: snd-usb: properly initialize the sync endpoint", while correcting the initialization of the sync endpoint when opening just the data endpoint, prevents devices that has a sync endpoint, with a channel number different than that of the data endpoint, from functioning. Due to a different channel and period bytes count, attempting to initialize the sync endpoint will fail at the usb host driver. For example, when using xhci: cannot submit urb 0, error -90: internal error With this patch, if a sync endpoint has multiple audioformats, a matching audioformat is preferred. An audioformat must be found with at least one channel and support the requested sample rate and PCM format, otherwise the stream will not be opened. If the number of channels differ between the selected audioformat and the requested format, adjust the period bytes count accordingly. It is safe to perform the calculation on the basis of the channel count, since the requested PCM audio format and the rate must be supported by the selected audioformat. Cc: Jeffrey Barish <jeff_barish@earthlink.net> Cc: Daniel Mack <zonque@gmail.com> Signed-off-by: Eldad Zack <eldad@fogrefinery.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/caiaq/control.c')
0 files changed, 0 insertions, 0 deletions