hci_dev_lock(hdev);
 
-       if (!hdev->cur_adv_instance) {
+       if (!cp->handle) {
                /* Store in hdev for instance 0 (Set adv and Directed advs) */
                bacpy(&hdev->random_addr, &cp->bdaddr);
        } else {
-               adv_instance = hci_find_adv_instance(hdev,
-                                                    hdev->cur_adv_instance);
+               adv_instance = hci_find_adv_instance(hdev, cp->handle);
                if (adv_instance)
                        bacpy(&adv_instance->random_addr, &cp->bdaddr);
        }
 
        hci_dev_lock(hdev);
        hdev->adv_addr_type = cp->own_addr_type;
-       if (!hdev->cur_adv_instance) {
+       if (!cp->handle) {
                /* Store in hdev for instance 0 */
                hdev->adv_tx_power = rp->tx_power;
        } else {
-               adv_instance = hci_find_adv_instance(hdev,
-                                                    hdev->cur_adv_instance);
+               adv_instance = hci_find_adv_instance(hdev, cp->handle);
                if (adv_instance)
                        adv_instance->tx_power = rp->tx_power;
        }
        /* Update adv data as tx power is known now */
-       hci_req_update_adv_data(hdev, hdev->cur_adv_instance);
+       hci_req_update_adv_data(hdev, cp->handle);
 
        hci_dev_unlock(hdev);
 }
                if (hdev->adv_addr_type != ADDR_LE_DEV_RANDOM)
                        return;
 
-               if (!hdev->cur_adv_instance) {
+               if (!ev->handle) {
                        bacpy(&conn->resp_addr, &hdev->random_addr);
                        return;
                }
 
-               adv_instance = hci_find_adv_instance(hdev, hdev->cur_adv_instance);
+               adv_instance = hci_find_adv_instance(hdev, ev->handle);
                if (adv_instance)
                        bacpy(&conn->resp_addr, &adv_instance->random_addr);
        }