Bluetooth: Remove usage of the deprecated ida_simple_xx() API
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 15 Jan 2024 20:12:19 +0000 (21:12 +0100)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 6 Mar 2024 22:22:38 +0000 (17:22 -0500)
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>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/hci_core.c
net/bluetooth/hci_sock.c

index de730d210ccb45adbd53efcd2dec4cddbcd924c0..34c8dca2069f6b52d19c59bd09568fccf4ef0508 100644 (file)
@@ -2640,10 +2640,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;
@@ -2742,7 +2743,7 @@ err_wqueue:
        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;
 }
@@ -2825,7 +2826,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);
index 3e7cd330d731aceda4e4ea11d60269cb3d0216ad..4ee1b976678b2525ff135fb947221b93923f2aee 100644 (file)
@@ -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);
        }
 }