[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210514031901.2276-1-hildawu@realtek.com>
Date: Fri, 14 May 2021 11:19:01 +0800
From: <hildawu@...ltek.com>
To: <marcel@...tmann.org>
CC: <johan.hedberg@...il.com>, <luiz.dentz@...il.com>,
<linux-bluetooth@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<max.chou@...ltek.com>, <alex_lu@...lsil.com.cn>,
<kidman@...ltek.com>
Subject: [PATCH v2] Bluetooth: btusb: Add support USB ALT 3 for WBS
From: Hilda Wu <hildawu@...ltek.com>
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: Hilda Wu <hildawu@...ltek.com>
---
Changes in v2:
- Updated signed off name.
- Adjusted coding style.
---
---
drivers/bluetooth/btusb.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 6f253378e893..1e98f985740b 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 (btusb_switch_alt_setting(hdev, new_alts) < 0)
--
2.17.1
Powered by blists - more mailing lists