On Fri, 26 Feb 2021 14:34:28 +0100, Nicolas MURE wrote: > > Send an `URB_CONTROL out` USB frame to the device to configure its > samplerate. This should be done before using the device for audio > streaming (capture or playback). > > About the change of `usb_rcvctrlpipe` to `usb_sndctrlpipe`, I reached > the author of this line and she agrees about this change. Control frames > to set device options should have the `out` direction instead of the `in` > direction. This specific fix should be applied separately for 5.12. Could you split this one and submit as an individual fix? I'm currently thinking of merging the rest for 5.13, as 5.12 merge window was already closed. thanks, Takashi > > See https://github.com/nm2107/Pioneer-DJM-850-driver-reverse-engineering > /blob/172fb9a61055960c88c67b7c416fe5bf3609807b > /doc/windows-dvs/framerate-setting/README.md > > Signed-off-by: Nicolas MURE <nicolas.mure2019@xxxxxxxxx> > --- > sound/usb/quirks.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c > index 9ba4682ebc48..d02dac5fcd40 100644 > --- a/sound/usb/quirks.c > +++ b/sound/usb/quirks.c > @@ -1482,7 +1482,7 @@ static int pioneer_djm_set_format_quirk(struct snd_usb_substream *subs, > usb_set_interface(subs->dev, 0, 1); > // we should derive windex from fmt-sync_ep but it's not set > snd_usb_ctl_msg(subs->stream->chip->dev, > - usb_rcvctrlpipe(subs->stream->chip->dev, 0), > + usb_sndctrlpipe(subs->stream->chip->dev, 0), > 0x01, 0x22, 0x0100, windex, &sr, 0x0003); > return 0; > } > @@ -1503,6 +1503,9 @@ void snd_usb_set_format_quirk(struct snd_usb_substream *subs, > case USB_ID(0x2b73, 0x0013): /* Pioneer DJM-450 */ > pioneer_djm_set_format_quirk(subs, 0x0082); > break; > + case USB_ID(0x08e4, 0x0163): /* Pioneer DJM-850 */ > + pioneer_djm_set_format_quirk(subs, 0x0086); > + break; > } > } > > -- > 2.29.2 >