Message ID | 3b3523b475d0f5cadf81b3131bb1a38b7476b020.1705349526.git.christophe.jaillet@wanadoo.fr |
---|---|
State | Accepted |
Commit | 7cf588b0cec9d4cffcaaf85dd8d598258b02ec7c |
Headers | show |
Series | Bluetooth: Remove usage of the deprecated ida_simple_xx() API | expand |
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=817021 ---Test result--- Test Summary: CheckPatch PASS 0.78 seconds GitLint PASS 0.99 seconds SubjectPrefix PASS 0.13 seconds BuildKernel PASS 27.82 seconds CheckAllWarning PASS 30.32 seconds CheckSparse PASS 35.92 seconds CheckSmatch PASS 99.05 seconds BuildKernel32 PASS 27.00 seconds TestRunnerSetup PASS 433.53 seconds TestRunner_l2cap-tester PASS 23.07 seconds TestRunner_iso-tester PASS 50.97 seconds TestRunner_bnep-tester PASS 6.89 seconds TestRunner_mgmt-tester PASS 164.42 seconds TestRunner_rfcomm-tester PASS 10.71 seconds TestRunner_sco-tester PASS 14.35 seconds TestRunner_ioctl-tester PASS 12.36 seconds TestRunner_mesh-tester PASS 8.78 seconds TestRunner_smp-tester PASS 9.76 seconds TestRunner_userchan-tester PASS 7.35 seconds IncrementalBuild PASS 25.77 seconds --- Regards, Linux Bluetooth
Hello: This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Mon, 15 Jan 2024 21:12:19 +0100 you wrote: > ida_alloc() and ida_free() should be preferred to the deprecated > ida_simple_get() and ida_simple_remove(). > > Note that the upper limit of ida_simple_get() is exclusive, but the one of > ida_alloc_max() is inclusive. So a -1 has been added when needed. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > > [...] Here is the summary with links: - Bluetooth: Remove usage of the deprecated ida_simple_xx() API https://git.kernel.org/bluetooth/bluetooth-next/c/6061d66bd0e5 You are awesome, thank you!
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index e5cb618fa6d3..41d2d1956527 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c @@ -2639,10 +2639,11 @@ int hci_register_dev(struct hci_dev *hdev) */ switch (hdev->dev_type) { case HCI_PRIMARY: - id = ida_simple_get(&hci_index_ida, 0, HCI_MAX_ID, GFP_KERNEL); + id = ida_alloc_max(&hci_index_ida, HCI_MAX_ID - 1, GFP_KERNEL); break; case HCI_AMP: - id = ida_simple_get(&hci_index_ida, 1, HCI_MAX_ID, GFP_KERNEL); + id = ida_alloc_range(&hci_index_ida, 1, HCI_MAX_ID - 1, + GFP_KERNEL); break; default: return -EINVAL; @@ -2741,7 +2742,7 @@ int hci_register_dev(struct hci_dev *hdev) destroy_workqueue(hdev->workqueue); destroy_workqueue(hdev->req_workqueue); err: - ida_simple_remove(&hci_index_ida, hdev->id); + ida_free(&hci_index_ida, hdev->id); return error; } @@ -2824,7 +2825,7 @@ void hci_release_dev(struct hci_dev *hdev) hci_dev_unlock(hdev); ida_destroy(&hdev->unset_handle_ida); - ida_simple_remove(&hci_index_ida, hdev->id); + ida_free(&hci_index_ida, hdev->id); kfree_skb(hdev->sent_cmd); kfree_skb(hdev->recv_event); kfree(hdev); diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c index 3e7cd330d731..4ee1b976678b 100644 --- a/net/bluetooth/hci_sock.c +++ b/net/bluetooth/hci_sock.c @@ -101,7 +101,7 @@ static bool hci_sock_gen_cookie(struct sock *sk) int id = hci_pi(sk)->cookie; if (!id) { - id = ida_simple_get(&sock_cookie_ida, 1, 0, GFP_KERNEL); + id = ida_alloc_min(&sock_cookie_ida, 1, GFP_KERNEL); if (id < 0) id = 0xffffffff; @@ -119,7 +119,7 @@ static void hci_sock_free_cookie(struct sock *sk) if (id) { hci_pi(sk)->cookie = 0xffffffff; - ida_simple_remove(&sock_cookie_ida, id); + ida_free(&sock_cookie_ida, id); } }
ida_alloc() and ida_free() should be preferred to the deprecated ida_simple_get() and ida_simple_remove(). Note that the upper limit of ida_simple_get() is exclusive, but the one of ida_alloc_max() is inclusive. So a -1 has been added when needed. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- I've not been able to find the rational for the HCI_MAX_ID value (i.e. 10000) is the BT spec I've found. Instead of having these HCI_MAX_ID-1 in the code, we could also change the value of HCI_MAX_ID to 9999. I don't know what makes the more sense. --- net/bluetooth/hci_core.c | 9 +++++---- net/bluetooth/hci_sock.c | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-)