net/virtio: allocate vrings on device NUMA node
[dpdk.git] / drivers / net / ifc / ifcvf_vdpa.c
index 0d237ae..97a57f1 100644 (file)
@@ -112,7 +112,6 @@ ifcvf_vfio_setup(struct ifcvf_internal *internal)
        struct rte_pci_device *dev = internal->pdev;
        char devname[RTE_DEV_NAME_MAX_LEN] = {0};
        int iommu_group_num;
-       int ret = 0;
        int i;
 
        internal->vfio_dev_fd = -1;
@@ -146,9 +145,8 @@ ifcvf_vfio_setup(struct ifcvf_internal *internal)
                internal->hw.mem_resource[i].len =
                        internal->pdev->mem_resource[i].len;
        }
-       ret = ifcvf_init_hw(&internal->hw, internal->pdev);
 
-       return ret;
+       return 0;
 
 err:
        rte_vfio_container_destroy(internal->vfio_container_fd);
@@ -720,7 +718,7 @@ ifcvf_get_protocol_features(int did __rte_unused, uint64_t *features)
        return 0;
 }
 
-struct rte_vdpa_dev_ops ifcvf_ops = {
+static struct rte_vdpa_dev_ops ifcvf_ops = {
        .get_queue_num = ifcvf_get_queue_num,
        .get_features = ifcvf_get_vdpa_features,
        .get_protocol_features = ifcvf_get_protocol_features,
@@ -758,6 +756,9 @@ ifcvf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
        if (ifcvf_vfio_setup(internal) < 0)
                return -1;
 
+       if (ifcvf_init_hw(&internal->hw, internal->pdev) < 0)
+               return -1;
+
        internal->max_queues = IFCVF_MAX_QUEUES;
        features = ifcvf_get_features(&internal->hw);
        internal->features = (features &