[PATCH 14/41] ALSA: usb-audio: Create endpoint objects at parsing phase - Pioneer DJ DJM-250MK2 stopped working

František Kučera konference at frantovo.cz
Sun Jan 3 18:09:41 CET 2021


Dne 23. 11. 20 v 9:53 Takashi Iwai napsal(a):
> Currently snd_usb_endpoint objects are created at first when the
> substream is opened and tries to assign the endpoints corresponding to
> the matching audioformat.  But since basically the all endpoints have
> been already parsed and the information have been obtained, we may
> create the endpoint objects statically at the init phase.  It's easier
> to manage for the implicit fb case, for example.
>
> This patch changes the endpoint object management and lets the parser
> to create the all endpoint objects.
>
> This change shouldn't bring any functional changes.

The Pioneer DJ DJM-250MK2 (implemented in 73d8c9408434, 14335d8b9e1a, cdc01a1558de) stopped working.

After bisecting, it seems that it worked in 5fd255f4fe97 and stopped working in 54cb31901b83.

The arecord says: set_params:1407: Unable to install hw params

And even playback is impossible in this version. But there is no error in the log. However in later versions (e.g. eda809aef534) I found errors in kern.log:

usb 1-3: Cannot find EP 0x1 to open

usb 1-3: Cannot find EP 0x82 to open

(each repeats 20 or more times, seems to be in pcm.c in subs->data_endpoint = snd_usb_endpoint_open(chip, fmt, hw_params, false);)

Could you please check it? I am not sure whether it should be fixed in the DJM-250MK2 specific code or here.

Thanks,

Franta




More information about the Alsa-devel mailing list