linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Bluetooth: btusb: check SCO MTU before enabling USB ALT 3 for WBS
@ 2021-07-16 17:58 Pauli Virtanen
  2021-07-16 19:16 ` bluez.test.bot
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Pauli Virtanen @ 2021-07-16 17:58 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Hilda Wu

Some USB BT adapters don't satisfy the MTU requirement mentioned in
commit e848dbd364ac ("Bluetooth: btusb: Add support USB ALT 3 for WBS")
and have ALT 3 setting that produces no/garbled audio. Check that the MTU
condition is satisfied, and fall back to ALT 1 if not.

Tested with USB adapters (mtu<72, produce sound only with ALT1)
BCM20702A1 0b05:17cb, CSR8510A10 0a12:0001, and (mtu>=72, ALT3)
RTL8761BU 0bda:8771, Intel AX200 8087:0029 (after disabling ALT6).

Signed-off-by: Pauli Virtanen <pav@iki.fi>
---
 drivers/bluetooth/btusb.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index a9855a2dd561..3ee66e415c4d 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -1763,9 +1763,11 @@ static void btusb_work(struct work_struct *work)
 			/* 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.
+			 * data satisfy 60 bytes. USB Alt 3 support also needs
+			 * HFP transparent MTU >= 72 Bytes.
 			 */
-			if (new_alts == 1 && btusb_find_altsetting(data, 3))
+			if (new_alts == 1 && hdev->sco_mtu >= 72 &&
+			    btusb_find_altsetting(data, 3))
 				new_alts = 3;
 		}
 
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-08-10 18:37 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-16 17:58 [PATCH] Bluetooth: btusb: check SCO MTU before enabling USB ALT 3 for WBS Pauli Virtanen
2021-07-16 19:16 ` bluez.test.bot
2021-07-17 13:34 ` [PATCH] " Joseph Hwang
2021-07-21 15:40   ` Pauli Virtanen
2021-07-22 10:28     ` Hilda Wu
2021-07-20  9:15 ` Pasi Kärkkäinen
2021-07-22 13:29 ` Michał Kępień
2021-07-22 14:26   ` Pauli Virtanen
2021-07-22 14:42     ` Michał Kępień
2021-07-23 10:07 ` [PATCH v2] Bluetooth: btusb: check conditions " Pauli Virtanen
2021-07-23 12:19   ` Marcel Holtmann
2021-07-25  5:47     ` Michał Kępień
2021-08-10 16:48     ` Pasi Kärkkäinen
2021-08-10 18:37       ` Luiz Augusto von Dentz
2021-07-26 18:02 ` [PATCH v3] " Pauli Virtanen
2021-07-27  2:11   ` [v3] " bluez.test.bot
2021-07-30 12:35   ` [PATCH v3] " Pasi Kärkkäinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).