[PATCH v2 1/1] Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x
From: Stefano Radaelli
Date: Tue Feb 24 2026 - 06:13:48 EST
From: Stefano Radaelli <stefano.r@xxxxxxxxxxxxx>
TI WL183x controllers advertise support for the HCI Enhanced Setup
Synchronous Connection command, but SCO setup fails when the enhanced
path is used. The only working configuration is to fall back to the
legacy HCI Setup Synchronous Connection (0x0028).
This matches the scenario described in commit 05abad857277
("Bluetooth: HCI: Add HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN quirk").
Enable HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN automatically for
devices compatible with:
- ti,wl1831-st
- ti,wl1835-st
- ti,wl1837-st
Signed-off-by: Stefano Radaelli <stefano.r@xxxxxxxxxxxxx>
---
v1->v2:
-
drivers/bluetooth/hci_ll.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c
index 91acf24f1ef5..6f060eec3b81 100644
--- a/drivers/bluetooth/hci_ll.c
+++ b/drivers/bluetooth/hci_ll.c
@@ -68,6 +68,7 @@ struct ll_device {
struct gpio_desc *enable_gpio;
struct clk *ext_clk;
bdaddr_t bdaddr;
+ bool broken_enhanced_setup;
};
struct ll_struct {
@@ -656,6 +657,10 @@ static int ll_setup(struct hci_uart *hu)
hci_set_quirk(hu->hdev, HCI_QUIRK_INVALID_BDADDR);
}
+ if (lldev->broken_enhanced_setup)
+ hci_set_quirk(hu->hdev,
+ HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN);
+
/* Operational speed if any */
if (hu->oper_speed)
speed = hu->oper_speed;
@@ -710,6 +715,11 @@ static int hci_ti_probe(struct serdev_device *serdev)
of_property_read_u32(serdev->dev.of_node, "max-speed", &max_speed);
hci_uart_set_speeds(hu, 115200, max_speed);
+ if (of_device_is_compatible(serdev->dev.of_node, "ti,wl1831-st") ||
+ of_device_is_compatible(serdev->dev.of_node, "ti,wl1835-st") ||
+ of_device_is_compatible(serdev->dev.of_node, "ti,wl1837-st"))
+ lldev->broken_enhanced_setup = true;
+
/* optional BD address from nvram */
bdaddr_cell = nvmem_cell_get(&serdev->dev, "bd-address");
if (IS_ERR(bdaddr_cell)) {
--
2.47.3