Re: [PATCH] Bluetooth: btusb: Add support USB ALT 3 for WBS

From: Marcel Holtmann
Date: Thu May 13 2021 - 11:12:57 EST


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