• Takashi Iwai's avatar
    ALSA: usb-audio: Choose audioformat of a counter-part substream · 5d15f1eb
    Takashi Iwai authored
    The implicit feedback mode needs to handle two endpoints and the
    choice of the audioformat object for the sync EP is important since
    this determines the compatibility of the hw_params.  The current code
    uses the same audioformat object if both the main EP and the sync EP
    point to the same iface/altsetting.  This was done in consideration of
    the non-implicit-fb sync EP handling, and it doesn't match well with
    the cases where actually to endpoints are defined in the sameiface /
    altsetting like a few Pioneer devices.
    
    Modify snd_usb_find_implicit_fb_sync_format() to pick up the
    audioformat that is assigned in the counter-part substreams primarily,
    so that the actual capture stream can be opened properly.  We keep the
    same audioformat object only as a fallback in case nothing found,
    though.
    
    Fixes: 9fddc15e ("ALSA: usb-audio: Factor out the implicit feedback quirk code")
    Link: https://lore.kernel.org/r/20210108075219.21463-3-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    5d15f1eb
implicit.c 12.6 KB