summaryrefslogtreecommitdiff
path: root/net/bluetooth/amp.c
diff options
context:
space:
mode:
authorZiyang Xuan <william.xuanziyang@huawei.com>2023-10-11 12:57:31 +0300
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-10-23 21:03:20 +0300
commit181a42edddf51d5d9697ecdf365d72ebeab5afb0 (patch)
tree28decb9a44b9deb3a8c513faf1d2bef8eabc871c /net/bluetooth/amp.c
parent624820f7c8826dd010e8b1963303c145f99816e9 (diff)
downloadlinux-181a42edddf51d5d9697ecdf365d72ebeab5afb0.tar.xz
Bluetooth: Make handle of hci_conn be unique
The handle of new hci_conn is always HCI_CONN_HANDLE_MAX + 1 if the handle of the first hci_conn entry in hci_dev->conn_hash->list is not HCI_CONN_HANDLE_MAX + 1. Use ida to manage the allocation of hci_conn->handle to make it be unique. Fixes: 9f78191cc9f1 ("Bluetooth: hci_conn: Always allocate unique handles") Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Diffstat (limited to 'net/bluetooth/amp.c')
-rw-r--r--net/bluetooth/amp.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/bluetooth/amp.c b/net/bluetooth/amp.c
index 2134f92bd7ac..5d698f19868c 100644
--- a/net/bluetooth/amp.c
+++ b/net/bluetooth/amp.c
@@ -109,7 +109,7 @@ struct hci_conn *phylink_add(struct hci_dev *hdev, struct amp_mgr *mgr,
struct hci_conn *hcon;
u8 role = out ? HCI_ROLE_MASTER : HCI_ROLE_SLAVE;
- hcon = hci_conn_add(hdev, AMP_LINK, dst, role);
+ hcon = hci_conn_add(hdev, AMP_LINK, dst, role, __next_handle(mgr));
if (!hcon)
return NULL;
@@ -117,7 +117,6 @@ struct hci_conn *phylink_add(struct hci_dev *hdev, struct amp_mgr *mgr,
hcon->state = BT_CONNECT;
hcon->attempt++;
- hcon->handle = __next_handle(mgr);
hcon->remote_id = remote_id;
hcon->amp_mgr = amp_mgr_get(mgr);