Hi Hilda, > Because mSBC frames do not need to be aligned to the SCO packet > boundary. Using USB ALT 3 let HCI payload >= 60 bytes, let mSBC > data satisfy 60 Bytes avoid payload unaligned situation and fixed > some headset no voise issue. > > USB Alt 3 supported also need HFP support transparent MTU in 72 Bytes. > > Signed-off-by: hildawu <hildawu@xxxxxxxxxxx> please use real name here. > --- > drivers/bluetooth/btusb.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 6f253378e893..872034e7a232 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -1752,6 +1752,13 @@ static void btusb_work(struct work_struct *work) > * which work with WBS at all. > */ > new_alts = btusb_find_altsetting(data, 6) ? 6 : 1; > + /* Because mSBC frames do not need to be aligned to the > + * SCO packet boundary. If support the Alt 3, use the > + * Alt 3 for HCI payload >= 60 Bytes let air packet > + * data satisfy 60 bytes. > + */ > + if ((new_alts == 1) && (btusb_find_altsetting(data, 3))) > + new_alts = 3; if (new_alts == 1 && btusb_find_altsetting(..)) .. Regards Marcel