2023-09-12 06:18:54

by Vlad Pruteanu

[permalink] [raw]
Subject: [PATCH v3 1/1] Bluetooth: ISO: Set CIS bit only for devices with CIS

As mentioned in the Bluetooth Specification the full name of this bit is
"Connected Isochronous Stream (Host Support)", thus it should be set only
for CIS capable devices. Currently, it is set for any device that has CIS
or BIS support. In reality, devices that support BIS may not allow that
bit to be set and so, the HCI bring up fails for them.

This commit fixes this by only setting the bit for CIS capable devices.s

Vlad Pruteanu (1):
Bluetooth: ISO: Set CIS bit only for devices with CIS support

net/bluetooth/hci_sync.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--
2.34.1


2023-09-12 10:24:04

by Vlad Pruteanu

[permalink] [raw]
Subject: [PATCH v3 1/1] Bluetooth: ISO: Set CIS bit only for devices with CIS support

As mentioned in the Bluetooth Specification the full name of this bit is
"Connected Isochronous Stream (Host Support)", thus it should be set only
for CIS capable devices. Currently, it is set for any device that has CIS
or BIS support. In reality, devices that support BIS may not allow that
bit to be set and so, the HCI bring up fails for them.

This commit fixes this by only setting the bit for CIS capable devices.

Signed-off-by: Vlad Pruteanu <[email protected]>
---
net/bluetooth/hci_sync.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index ec4dfc4c5749..1be5763c261c 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -4264,12 +4264,12 @@ static int hci_le_set_host_feature_sync(struct hci_dev *hdev)
{
struct hci_cp_le_set_host_feature cp;

- if (!iso_capable(hdev))
+ if (!cis_capable(hdev))
return 0;

memset(&cp, 0, sizeof(cp));

- /* Isochronous Channels (Host Support) */
+ /* Connected Isochronous Channels (Host Support) */
cp.bit_number = 32;
cp.bit_value = 1;

--
2.34.1