forked from gregkh/linux
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bluetooth: ISO: Add hcon for listening bis sk
This creates a hcon instance at bis listen, before the PA sync procedure is started. Signed-off-by: Iulia Tanasescu <[email protected]> Signed-off-by: Luiz Augusto von Dentz <[email protected]>
- Loading branch information
1 parent
6e62ebf
commit 02171da
Showing
3 changed files
with
60 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
/* | ||
BlueZ - Bluetooth protocol stack for Linux | ||
Copyright (c) 2000-2001, 2010, Code Aurora Forum. All rights reserved. | ||
Copyright 2023 NXP | ||
Copyright 2023-2024 NXP | ||
Written 2000,2001 by Maxim Krasnyansky <[email protected]> | ||
|
@@ -1528,8 +1528,8 @@ struct hci_conn *hci_connect_cis(struct hci_dev *hdev, bdaddr_t *dst, | |
struct hci_conn *hci_connect_bis(struct hci_dev *hdev, bdaddr_t *dst, | ||
__u8 dst_type, struct bt_iso_qos *qos, | ||
__u8 data_len, __u8 *data); | ||
int hci_pa_create_sync(struct hci_dev *hdev, bdaddr_t *dst, __u8 dst_type, | ||
__u8 sid, struct bt_iso_qos *qos); | ||
struct hci_conn *hci_pa_create_sync(struct hci_dev *hdev, bdaddr_t *dst, | ||
__u8 dst_type, __u8 sid, struct bt_iso_qos *qos); | ||
int hci_le_big_create_sync(struct hci_dev *hdev, struct hci_conn *hcon, | ||
struct bt_iso_qos *qos, | ||
__u16 sync_handle, __u8 num_bis, __u8 bis[]); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
/* | ||
BlueZ - Bluetooth protocol stack for Linux | ||
Copyright (c) 2000-2001, 2010, Code Aurora Forum. All rights reserved. | ||
Copyright 2023 NXP | ||
Copyright 2023-2024 NXP | ||
Written 2000,2001 by Maxim Krasnyansky <[email protected]> | ||
|
@@ -2057,18 +2057,31 @@ static int create_pa_sync(struct hci_dev *hdev, void *data) | |
return hci_update_passive_scan_sync(hdev); | ||
} | ||
|
||
int hci_pa_create_sync(struct hci_dev *hdev, bdaddr_t *dst, __u8 dst_type, | ||
__u8 sid, struct bt_iso_qos *qos) | ||
struct hci_conn *hci_pa_create_sync(struct hci_dev *hdev, bdaddr_t *dst, | ||
__u8 dst_type, __u8 sid, | ||
struct bt_iso_qos *qos) | ||
{ | ||
struct hci_cp_le_pa_create_sync *cp; | ||
struct hci_conn *conn; | ||
int err; | ||
|
||
if (hci_dev_test_and_set_flag(hdev, HCI_PA_SYNC)) | ||
return -EBUSY; | ||
return ERR_PTR(-EBUSY); | ||
|
||
conn = hci_conn_add_unset(hdev, ISO_LINK, dst, HCI_ROLE_SLAVE); | ||
if (!conn) | ||
return ERR_PTR(-ENOMEM); | ||
|
||
conn->iso_qos = *qos; | ||
conn->state = BT_LISTEN; | ||
|
||
hci_conn_hold(conn); | ||
|
||
cp = kzalloc(sizeof(*cp), GFP_KERNEL); | ||
if (!cp) { | ||
hci_dev_clear_flag(hdev, HCI_PA_SYNC); | ||
return -ENOMEM; | ||
hci_conn_drop(conn); | ||
return ERR_PTR(-ENOMEM); | ||
} | ||
|
||
cp->options = qos->bcast.options; | ||
|
@@ -2080,7 +2093,14 @@ int hci_pa_create_sync(struct hci_dev *hdev, bdaddr_t *dst, __u8 dst_type, | |
cp->sync_cte_type = qos->bcast.sync_cte_type; | ||
|
||
/* Queue start pa_create_sync and scan */ | ||
return hci_cmd_sync_queue(hdev, create_pa_sync, cp, create_pa_complete); | ||
err = hci_cmd_sync_queue(hdev, create_pa_sync, cp, create_pa_complete); | ||
if (err < 0) { | ||
hci_conn_drop(conn); | ||
kfree(cp); | ||
return ERR_PTR(err); | ||
} | ||
|
||
return conn; | ||
} | ||
|
||
int hci_le_big_create_sync(struct hci_dev *hdev, struct hci_conn *hcon, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters