ALSA: usb-audio: Fix UAC1 rate setup for secondary endpoints
authorTakashi Iwai <tiwai@suse.de>
Mon, 18 Jan 2021 07:58:14 +0000 (08:58 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 18 Jan 2021 08:37:53 +0000 (09:37 +0100)
commit87cb9af9f8a2b242cea7f828206d619e8cbb6a1a
tree2a4d6216e51be7c1177cc4b7f9293faa6c03c926
parentf84d3a1ec375e46a55cc3ba85c04272b24bd3921
ALSA: usb-audio: Fix UAC1 rate setup for secondary endpoints

The current sample rate setup function for UAC1 assumes only the first
endpoint retrieved from the interface:altset pair, but the rate set up
may be needed also for the secondary endpoint.  Also, retrieving the
endpoint number from the interface descriptor is redundant; we have
already the target endpoint in the given audioformat object.

This patch simplifies the code and corrects the target endpoint as
described in the above.  It simply refers to fmt->endpoint directly.

Also, this patch drops the pioneer_djm_set_format_quirk() that is
caleld from snd_usb_set_format_quirk(); this function does the sample
rate setup but for the capture endpoint (0x82), and that's exactly
what the change above fixes.

Link: https://lore.kernel.org/r/20210118075816.25068-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/clock.c
sound/usb/quirks.c