complete(&nvme_fc_unload_proceed);
        spin_unlock_irqrestore(&nvme_fc_lock, flags);
 
-       ida_simple_remove(&nvme_fc_local_port_cnt, lport->localport.port_num);
+       ida_free(&nvme_fc_local_port_cnt, lport->localport.port_num);
        ida_destroy(&lport->endp_cnt);
 
        put_device(lport->dev);
                goto out_reghost_failed;
        }
 
-       idx = ida_simple_get(&nvme_fc_local_port_cnt, 0, 0, GFP_KERNEL);
+       idx = ida_alloc(&nvme_fc_local_port_cnt, GFP_KERNEL);
        if (idx < 0) {
                ret = -ENOSPC;
                goto out_fail_kfree;
        return 0;
 
 out_ida_put:
-       ida_simple_remove(&nvme_fc_local_port_cnt, idx);
+       ida_free(&nvme_fc_local_port_cnt, idx);
 out_fail_kfree:
        kfree(newrec);
 out_reghost_failed:
        spin_unlock_irqrestore(&nvme_fc_lock, flags);
 
        WARN_ON(!list_empty(&rport->disc_list));
-       ida_simple_remove(&lport->endp_cnt, rport->remoteport.port_num);
+       ida_free(&lport->endp_cnt, rport->remoteport.port_num);
 
        kfree(rport);
 
                goto out_lport_put;
        }
 
-       idx = ida_simple_get(&lport->endp_cnt, 0, 0, GFP_KERNEL);
+       idx = ida_alloc(&lport->endp_cnt, GFP_KERNEL);
        if (idx < 0) {
                ret = -ENOSPC;
                goto out_kfree_rport;
        put_device(ctrl->dev);
        nvme_fc_rport_put(ctrl->rport);
 
-       ida_simple_remove(&nvme_fc_ctrl_cnt, ctrl->cnum);
+       ida_free(&nvme_fc_ctrl_cnt, ctrl->cnum);
        if (ctrl->ctrl.opts)
                nvmf_free_options(ctrl->ctrl.opts);
        kfree(ctrl);
                goto out_fail;
        }
 
-       idx = ida_simple_get(&nvme_fc_ctrl_cnt, 0, 0, GFP_KERNEL);
+       idx = ida_alloc(&nvme_fc_ctrl_cnt, GFP_KERNEL);
        if (idx < 0) {
                ret = -ENOSPC;
                goto out_free_ctrl;
        kfree(ctrl->queues);
 out_free_ida:
        put_device(ctrl->dev);
-       ida_simple_remove(&nvme_fc_ctrl_cnt, ctrl->cnum);
+       ida_free(&nvme_fc_ctrl_cnt, ctrl->cnum);
 out_free_ctrl:
        kfree(ctrl);
 out_fail: