Re: [PATCH v3] ALSA: usb-audio: disable 96khz support for HUAWEI USB-C HEADSET

From: Takashi Iwai
Date: Wed Nov 18 2020 - 02:34:53 EST


On Wed, 18 Nov 2020 06:26:06 +0100,
Macpaul Lin wrote:
>
> On Tue, 2020-11-10 at 17:04 +0800, Macpaul Lin wrote:
> > The HUAWEI USB-C headset (VID:0x12d1, PID:0x3a07) reported it supports
> > 96khz. However there will be some random issue under 96khz.
> > Not sure if there is any alternate setting could be applied.
> > Hence 48khz is suggested to be applied at this moment.
> >
> > Signed-off-by: Macpaul Lin <macpaul.lin@xxxxxxxxxxxx>
> > Signed-off-by: Eddie Hung <eddie.hung@xxxxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx
> > ---
> > Changes for v2:
> > - Fix build error.
> > - Add Cc: stable@xxxxxxxxxxxxxxx
> > Changes for v3:
> > - Replace "udev" with "chip->dev" according to Takashi's suggestion. Thanks.
> >
> > sound/usb/format.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/sound/usb/format.c b/sound/usb/format.c
> > index 1b28d01..0aff774 100644
> > --- a/sound/usb/format.c
> > +++ b/sound/usb/format.c
> > @@ -217,6 +217,11 @@ static int parse_audio_format_rates_v1(struct snd_usb_audio *chip, struct audiof
> > (chip->usb_id == USB_ID(0x041e, 0x4064) ||
> > chip->usb_id == USB_ID(0x041e, 0x4068)))
> > rate = 8000;
> > + /* Huawei headset can't support 96kHz fully */
> > + if (rate == 96000 &&
> > + chip->usb_id == USB_ID(0x12d1, 0x3a07) &&
> > + le16_to_cpu(chip->dev->descriptor.bcdDevice) == 0x49)
> > + continue;
> >
> > fp->rate_table[fp->nr_rates] = rate;
> > if (!fp->rate_min || rate < fp->rate_min)
>
> Sorry for bothering again, please hold-on this patch.
> I'm still trying to clarify if there is another approach for this
> interoperability issue.
> I'll update this thread once the result has came out.

OK, thanks for information.


Takashi