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. Thanks Macpaul Lin