Re: [PATCH] ALSA: usb-audio: Fix "cannot set freq 48000 to ep 0x3" msgs

From: Takashi Iwai
Date: Mon Jun 05 2023 - 03:39:18 EST


On Thu, 01 Jun 2023 16:28:05 +0200,
Joakim Tjernlund wrote:
>
> Adding Michael Ralston <michael@xxxxxxxxxxxxx>
>
> He did have problems with his behringer UMC404HD device when this whole seq. was removed.
> Ralston, can you try if the below change affects your device?

Sorry for the late reaction, as I've been off in the last weeks.

The code sequence there seems pretty sensitive, and swapping or
dropping the call might break things easily on certain devices,
unfortunately. So, I guess we can't take the patch as is. If any, we
need to fiddle the call order depending on the device quirk or such.
I guess we may try to fit with the existing quirk flag. Let me check
it later.


thanks,

Takashi


> Jocke
>
> On Thu, 2023-06-01 at 15:11 +0200, Joakim Tjernlund wrote:
> > On some USB speaker devices(Jabra/Logitech) we see above error
> > msg when connecting device to computer and kernel is probing the device.
> >
> > Moving the snd_usb_init_sample_rate() to after usb_set_interface() makes
> > the error go away.
> >
> > Signed-off-by: Joakim Tjernlund <joakim.tjernlund@xxxxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx
> > ---
> > sound/usb/stream.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/sound/usb/stream.c b/sound/usb/stream.c
> > index f10f4e6d3fb8..d9ac8663a48b 100644
> > --- a/sound/usb/stream.c
> > +++ b/sound/usb/stream.c
> > @@ -1226,8 +1226,8 @@ static int __snd_usb_parse_audio_interface(struct snd_usb_audio *chip,
> > /* try to set the interface... */
> > usb_set_interface(chip->dev, iface_no, 0);
> > snd_usb_init_pitch(chip, fp);
> > - snd_usb_init_sample_rate(chip, fp, fp->rate_max);
> > usb_set_interface(chip->dev, iface_no, altno);
> > + snd_usb_init_sample_rate(chip, fp, fp->rate_max);
> > }
> > return 0;
> > }
>