ALSA: usb-audio: Avoid implicit feedback on Pioneer devices
authorTakashi Iwai <tiwai@suse.de>
Mon, 18 Jan 2021 07:58:16 +0000 (08:58 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 18 Jan 2021 08:38:13 +0000 (09:38 +0100)
commit532a208ad61018b586cebfca8431291fe9c10ce7
treee839d2508330b9fd2b50e23a789adc18688e9292
parent3784d449d795ba11a92681bd22d183329f976421
ALSA: usb-audio: Avoid implicit feedback on Pioneer devices

For addressing the regression on Pioneer devices, we recently
corrected the quirk code to enable the implicit feedback mode on those
devices properly.  However, the devices still showed problems with the
full duplex operations with JACK, and after debug sessions, we figured
out that the older kernels that had worked with JACK also didn't use
the implicit feedback mode at all although they had the quirk code to
enable it; instead, the old code worked just to skip the normal sync
endpoint setup that would have been detected without it.  IOW, what
broke without the implicit-fb quirk in the past was the application of
the normal sync endpoint that is actually the capture data endpoint on
these devices.

This patch covers the overseen piece: it modifies the quirk code again
not to enable the implicit feedback mode but just to make the driver
skipping the sync endpoint detection.  This made the driver working
with JACK full-duplex mode again.

Still it's not quite clear why the implicit feedback doesn't work on
those devices yet; maybe it's about some issues in the URB setup.  But
at least, with this patch, the driver should work in the level of the
older kernels again.

Fixes: 167c9dc84ec3 ("ALSA: usb-audio: Fix implicit feedback sync setup for Pioneer devices")
Link: https://lore.kernel.org/r/20210118075816.25068-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/implicit.c