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