mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
ALSA: usb-audio: Skip generic sync EP parse for secondary EP
commitefb75df105upstream. When ep_idx is already non-zero, it means usually a capture stream that is set up explicity by a fixed-format quirk, and applying the check for generic (non-implicit-fb) sync EPs might hit incorrectly, resulting in a bogus sync endpoint for the capture stream. This patch adds a check for the ep_idx and skip if it's a secondary endpoint. It's a part of the fixes for regressions on Saffire 6. Fixes:7b0efea4ba("ALSA: usb-audio: Add missing ep_idx in fixed EP quirks") Reported-and-tested-by: André Kapelrud <a.kapelrud@gmail.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20220606160910.6926-2-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8fe1ee5818
commit
2ee0b454fd
@@ -304,7 +304,7 @@ int snd_usb_audioformat_set_sync_ep(struct snd_usb_audio *chip,
|
||||
* Generic sync EP handling
|
||||
*/
|
||||
|
||||
if (altsd->bNumEndpoints < 2)
|
||||
if (fmt->ep_idx > 0 || altsd->bNumEndpoints < 2)
|
||||
return 0;
|
||||
|
||||
is_playback = !(get_endpoint(alts, 0)->bEndpointAddress & USB_DIR_IN);
|
||||
|
||||
Reference in New Issue
Block a user