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