Implicit feedback on BOSS GT-1, the saga continues...

Geraldo Nascimento geraldogabriel at gmail.com
Fri Apr 9 04:40:42 CEST 2021


Hi Lucas, try the following patch to disable the hold on the URBs for the
Roland D-05 for example.

--- endpoint.git.c      2021-04-08 23:35:55.786731210 -0300
+++ endpoint.c  2021-04-08 23:34:17.783404159 -0300
@@ -1343,6 +1343,7 @@ int snd_usb_endpoint_start(struct snd_us
 {
        int err;
        unsigned int i;
+       bool skip_implicit_fb_urb_hold;

        if (atomic_read(&ep->chip->shutdown))
                return -EBADFD;
@@ -1375,7 +1376,13 @@ int snd_usb_endpoint_start(struct snd_us
        if (!ep_state_update(ep, EP_STATE_STOPPED, EP_STATE_RUNNING))
                goto __error;

-       if (snd_usb_endpoint_implicit_feedback_sink(ep)) {
+        skip_implicit_fb_urb_hold = false;
+
+        if (USB_ID_VENDOR(ep->chip->usb_id) == 0x0582 &&
+           USB_ID_PRODUCT(ep->chip->usb_id) == 0x01ff)
+               skip_implicit_fb_urb_hold = true;
+
+       if (snd_usb_endpoint_implicit_feedback_sink(ep) &&
!skip_implicit_fb_urb_hold) {
                for (i = 0; i < ep->nurbs; i++) {
                        struct snd_urb_ctx *ctx = ep->urb + i;
                        list_add_tail(&ctx->ready_list,
&ep->ready_playback_urbs);

On Thu, Apr 8, 2021 at 10:54 PM Lucas <jaffa225man at gmail.com> wrote:

> Sorry, this is a question that has nothing to do with your last, but I
> previously tried creating a patch for endpoint.c that tests based on
> USB_ID_VENDOR(chip->usb_id), and USB_ID_PRODUCT(chip->usb_id) but they
> aren't recognised there.  Do you know what I might be able to use there to
> avoid messing with every other snd_usb_audio device?  Sorry, I just haven't
> looked the code over long enough.
>
> I may just try your quick recompilation method, as I realized it shouldn't
> create any new files the package manager couldn't eventually remove through
> the usual "apt-get remove linux-image-5.11.9".  Although, I'll probably be
> rebooting anyway, since the last time I tried to "modprobe -r
> snd_usb_audio" it refused due to dependencies.
>
>   Thanks!
>


More information about the Alsa-devel mailing list