]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: usb-audio: Fix the missing endpoints creations for quirks
authorTakashi Iwai <tiwai@suse.de>
Fri, 8 Jan 2021 07:52:15 +0000 (08:52 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 8 Jan 2021 22:43:35 +0000 (23:43 +0100)
commit0ff3a07d2cc68403c93742e4edad65cc1969cc72
tree5d64ae5e7154f73699f28509b11a4185260d08fc
parent47c27203376eed76d8f4edee66a753ded422b9ad
ALSA: usb-audio: Fix the missing endpoints creations for quirks

The recent change in the endpoint management moved the endpoint object
creation from the stream open time to the parser of the audio
descriptor.  It works fine for the standard audio, but it overlooked
the other places that create audio streams via quirks
(QUIRK_AUDIO_FIXED_ENDPOINT) like the reported a few Pioneer devices;
those call snd_usb_add_audio_stream() manually, hence they miss the
endpoints, eventually resulting in the error at opening streams.
Moreover, now the sync EP setup was moved to the explicit call of
snd_usb_audioformat_set_sync_ep(), and this needs to be added for
those places, too.

This patch addresses those regressions for quirks.  It adds a local
helper function add_audio_stream_from_fixed_fmt(), which does the all
needed tasks, and replaces the calls of snd_usb_add_audio_stream()
with this new function.

Fixes: ce996ed631a3 ("ALSA: usb-audio: Create endpoint objects at parsing phase")
Reported-by: František Kučera <konference@frantovo.cz>
Link: https://lore.kernel.org/r/20210108075219.21463-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/quirks.c