#include "ice_lib.h"
 #include "ice_dcb_lib.h"
 
-static DEFINE_IDA(ice_aux_ida);
+static DEFINE_XARRAY_ALLOC1(ice_aux_id);
 
 /**
  * ice_get_auxiliary_drv - retrieve iidc_auxiliary_drv struct
                return 0;
        }
 
-       pf->aux_idx = ida_alloc(&ice_aux_ida, GFP_KERNEL);
-       if (pf->aux_idx < 0) {
+       ret = xa_alloc(&ice_aux_id, &pf->aux_idx, NULL, XA_LIMIT(1, INT_MAX),
+                      GFP_KERNEL);
+       if (ret) {
                dev_err(dev, "Failed to allocate device ID for AUX driver\n");
                return -ENOMEM;
        }
        ice_free_rdma_qvector(pf);
 err_reserve_rdma_qvector:
        pf->adev = NULL;
-       ida_free(&ice_aux_ida, pf->aux_idx);
+       xa_erase(&ice_aux_id, pf->aux_idx);
        return ret;
 }
 
 
        ice_unplug_aux_dev(pf);
        ice_free_rdma_qvector(pf);
-       ida_free(&ice_aux_ida, pf->aux_idx);
+       xa_erase(&ice_aux_id, pf->aux_idx);
 }