* [PATCH v2 0/1] Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x
@ 2026-02-24 11:12 Stefano Radaelli
2026-02-24 11:12 ` [PATCH v2 1/1] " Stefano Radaelli
0 siblings, 1 reply; 3+ messages in thread
From: Stefano Radaelli @ 2026-02-24 11:12 UTC (permalink / raw)
To: linux-kernel, linux-bluetooth
Cc: pierluigi.p, Stefano Radaelli, Marcel Holtmann,
Luiz Augusto von Dentz
While validating SCO audio on a platform using TI WL183x Bluetooth
modules with the hci_ll driver, we observed failures when the
HCI Enhanced Setup Synchronous Connection command was used.
Although the controller advertises support for the command, SCO setup
fails in certain configurations (e.g. BT_VOICE_TRANSPARENT/mSBC).
This matches the scenario described in commit 05abad857277
("Bluetooth: HCI: Add HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN quirk").
Initially, we considered setting the
HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN quirk unconditionally in
hci_ll. However, this would affect all TI controllers handled by the
driver, including configurations where the enhanced setup command
works correctly.
To avoid hardcoding the quirk globally, we first proposed a DT-based
solution. Based on review feedback, the quirk is now enabled
automatically for the affected devices by deducing it from the
compatible string instead.
The issue has been observed on WL1831, WL1835 and WL1837 modules,
therefore the quirk is enabled for:
- "ti,wl1831-st"
- "ti,wl1835-st"
- "ti,wl1837-st"
This keeps the change limited to the affected WL183x family and avoids
impacting other TI controllers handled by hci_ll.
v1->v2:
- Remove DT property, used compatible instead
v1:
Link: https://patchwork.kernel.org/project/bluetooth/patch/db4c7eab9d0c2f71eb61baff240957596f099401.1771847350.git.stefano.r@variscite.com/
Stefano Radaelli (1):
Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x
drivers/bluetooth/hci_ll.c | 10 ++++++++++
1 file changed, 10 insertions(+)
base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
--
2.47.3
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 1/1] Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x
2026-02-24 11:12 [PATCH v2 0/1] Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x Stefano Radaelli
@ 2026-02-24 11:12 ` Stefano Radaelli
2026-02-24 11:59 ` bluez.test.bot
0 siblings, 1 reply; 3+ messages in thread
From: Stefano Radaelli @ 2026-02-24 11:12 UTC (permalink / raw)
To: linux-kernel, linux-bluetooth
Cc: pierluigi.p, Stefano Radaelli, Marcel Holtmann,
Luiz Augusto von Dentz
From: Stefano Radaelli <stefano.r@variscite.com>
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@variscite.com>
---
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* RE: Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x
2026-02-24 11:12 ` [PATCH v2 1/1] " Stefano Radaelli
@ 2026-02-24 11:59 ` bluez.test.bot
0 siblings, 0 replies; 3+ messages in thread
From: bluez.test.bot @ 2026-02-24 11:59 UTC (permalink / raw)
To: linux-bluetooth, stefano.radaelli21
[-- Attachment #1: Type: text/plain, Size: 2593 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1057165
---Test result---
Test Summary:
CheckPatch PENDING 0.52 seconds
GitLint PENDING 0.32 seconds
SubjectPrefix PASS 0.06 seconds
BuildKernel PASS 26.00 seconds
CheckAllWarning PASS 28.95 seconds
CheckSparse PASS 32.94 seconds
BuildKernel32 PASS 25.47 seconds
TestRunnerSetup PASS 558.94 seconds
TestRunner_l2cap-tester PASS 28.47 seconds
TestRunner_iso-tester PASS 73.06 seconds
TestRunner_bnep-tester PASS 6.25 seconds
TestRunner_mgmt-tester FAIL 113.22 seconds
TestRunner_rfcomm-tester PASS 9.60 seconds
TestRunner_sco-tester FAIL 14.34 seconds
TestRunner_ioctl-tester PASS 10.15 seconds
TestRunner_mesh-tester FAIL 12.51 seconds
TestRunner_smp-tester PASS 8.57 seconds
TestRunner_userchan-tester PASS 6.61 seconds
IncrementalBuild PENDING 1.03 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 494, Passed: 489 (99.0%), Failed: 1, Not Run: 4
Failed Test Cases
Read Exp Feature - Success Failed 0.108 seconds
##############################
Test: TestRunner_sco-tester - FAIL
Desc: Run sco-tester with test-runner
Output:
WARNING: possible circular locking dependency detected
BUG: sleeping function called from invalid context at net/core/sock.c:3782
Total: 30, Passed: 30 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0
Failed Test Cases
Mesh - Send cancel - 1 Timed out 2.731 seconds
Mesh - Send cancel - 2 Timed out 1.991 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-02-24 11:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-24 11:12 [PATCH v2 0/1] Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x Stefano Radaelli
2026-02-24 11:12 ` [PATCH v2 1/1] " Stefano Radaelli
2026-02-24 11:59 ` bluez.test.bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox