X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fthunderx%2Fnicvf_ethdev.c;h=f0bd20a22b6a6f4aa32b35c6f8290fdd5622999a;hb=57ddbf7edd9c5041603e224fbbb62c11ce423135;hp=3d7348771a5e7dd7023266b3d075e20cb03a6ebd;hpb=b142387b07600c320683255d237b9109299883d5;p=dpdk.git diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c index 3d7348771a..f0bd20a22b 100644 --- a/drivers/net/thunderx/nicvf_ethdev.c +++ b/drivers/net/thunderx/nicvf_ethdev.c @@ -44,7 +44,7 @@ #include "nicvf_svf.h" #include "nicvf_logs.h" -static void nicvf_dev_stop(struct rte_eth_dev *dev); +static int nicvf_dev_stop(struct rte_eth_dev *dev); static void nicvf_dev_stop_cleanup(struct rte_eth_dev *dev, bool cleanup); static void nicvf_vf_stop(struct rte_eth_dev *dev, struct nicvf *nic, bool cleanup); @@ -1766,6 +1766,7 @@ nicvf_dev_stop_cleanup(struct rte_eth_dev *dev, bool cleanup) struct nicvf *nic = nicvf_pmd_priv(dev); PMD_INIT_FUNC_TRACE(); + dev->data->dev_started = 0; /* Teardown secondary vf first */ for (i = 0; i < nic->sqs_count; i++) { @@ -1789,12 +1790,14 @@ nicvf_dev_stop_cleanup(struct rte_eth_dev *dev, bool cleanup) PMD_INIT_LOG(ERR, "Failed to reclaim CPI config %d", ret); } -static void +static int nicvf_dev_stop(struct rte_eth_dev *dev) { PMD_INIT_FUNC_TRACE(); nicvf_dev_stop_cleanup(dev, false); + + return 0; } static void @@ -1859,6 +1862,8 @@ nicvf_dev_close(struct rte_eth_dev *dev) struct nicvf *nic = nicvf_pmd_priv(dev); PMD_INIT_FUNC_TRACE(); + if (rte_eal_process_type() != RTE_PROC_PRIMARY) + return 0; nicvf_dev_stop_cleanup(dev, true); nicvf_periodic_alarm_stop(nicvf_interrupt, dev); @@ -2119,10 +2124,7 @@ static int nicvf_eth_dev_uninit(struct rte_eth_dev *dev) { PMD_INIT_FUNC_TRACE(); - - if (rte_eal_process_type() == RTE_PROC_PRIMARY) - nicvf_dev_close(dev); - + nicvf_dev_close(dev); return 0; } static int @@ -2153,6 +2155,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev) pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev); rte_eth_copy_pci_info(eth_dev, pci_dev); + eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS; nic->device_id = pci_dev->id.device_id; nic->vendor_id = pci_dev->id.vendor_id;