rte_memzone_free((const struct rte_memzone *)bp->rx_mem_zone);
bp->rx_mem_zone = NULL;
- rte_free(bp->pf->vf_info);
- bp->pf->vf_info = NULL;
+ bnxt_hwrm_free_vf_info(bp);
rte_free(bp->grp_info);
bp->grp_info = NULL;
uint16_t i;
int rc;
- if (BNXT_VF(bp) & !BNXT_VF_IS_TRUSTED(bp))
+ if (BNXT_VF(bp) && !BNXT_VF_IS_TRUSTED(bp))
return 0;
rc = bnxt_dev_info_get_op(dev, &dev_info);
{
pthread_mutex_destroy(&bp->flow_lock);
pthread_mutex_destroy(&bp->def_cp_lock);
- if (bp->rep_info)
+ if (bp->rep_info) {
pthread_mutex_destroy(&bp->rep_info->vfr_lock);
+ pthread_mutex_destroy(&bp->rep_info->vfr_start_lock);
+ }
}
static int
bnxt_free_rep_info(bp);
return rc;
}
+
+ rc = pthread_mutex_init(&bp->rep_info->vfr_start_lock, NULL);
+ if (rc) {
+ PMD_DRV_LOG(ERR, "Unable to initialize vfr_start_lock\n");
+ bnxt_free_rep_info(bp);
+ return rc;
+ }
+
return rc;
}