Skip to content

Commit 3a4d29b

Browse files
committed
Bluetooth: hci_sync: Fix use HCI_OP_LE_READ_BUFFER_SIZE_V2
Don't try to use HCI_OP_LE_READ_BUFFER_SIZE_V2 if controller don't support ISO channels, but in order to check if ISO channels are supported HCI_OP_LE_READ_LOCAL_FEATURES needs to be done earlier so the features bits can be checked on hci_le_read_buffer_size_sync. Link: https://bugzilla.kernel.org/show_bug.cgi?id=216817 Fixes: c1631db ("Bluetooth: hci_sync: Fix hci_read_buffer_size_sync") Cc: [email protected] # 6.1 Signed-off-by: Luiz Augusto von Dentz <[email protected]>
1 parent 2185e0f commit 3a4d29b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

net/bluetooth/hci_sync.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3572,7 +3572,7 @@ static const struct hci_init_stage hci_init2[] = {
35723572
static int hci_le_read_buffer_size_sync(struct hci_dev *hdev)
35733573
{
35743574
/* Use Read LE Buffer Size V2 if supported */
3575-
if (hdev->commands[41] & 0x20)
3575+
if (iso_capable(hdev) && hdev->commands[41] & 0x20)
35763576
return __hci_cmd_sync_status(hdev,
35773577
HCI_OP_LE_READ_BUFFER_SIZE_V2,
35783578
0, NULL, HCI_CMD_TIMEOUT);
@@ -3597,10 +3597,10 @@ static int hci_le_read_supported_states_sync(struct hci_dev *hdev)
35973597

35983598
/* LE Controller init stage 2 command sequence */
35993599
static const struct hci_init_stage le_init2[] = {
3600-
/* HCI_OP_LE_READ_BUFFER_SIZE */
3601-
HCI_INIT(hci_le_read_buffer_size_sync),
36023600
/* HCI_OP_LE_READ_LOCAL_FEATURES */
36033601
HCI_INIT(hci_le_read_local_features_sync),
3602+
/* HCI_OP_LE_READ_BUFFER_SIZE */
3603+
HCI_INIT(hci_le_read_buffer_size_sync),
36043604
/* HCI_OP_LE_READ_SUPPORTED_STATES */
36053605
HCI_INIT(hci_le_read_supported_states_sync),
36063606
{}

0 commit comments

Comments
 (0)