X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fhns3%2Fhns3_ethdev_vf.c;h=d1c3fb81ceb373b6fec7c2ff2ead5c4745189632;hb=d743042821de258b8034a95530200a3a9cd59678;hp=6e169583a0cb3cb39cab69d82c7e3276a197bd15;hpb=0607dadf98c71bdc96ea7b54eda26f1b667be1f6;p=dpdk.git diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c index 6e169583a0..d1c3fb81ce 100644 --- a/drivers/net/hns3/hns3_ethdev_vf.c +++ b/drivers/net/hns3/hns3_ethdev_vf.c @@ -1945,7 +1945,7 @@ hns3vf_unmap_rx_interrupt(struct rte_eth_dev *dev) } } -static void +static int hns3vf_dev_stop(struct rte_eth_dev *dev) { struct hns3_adapter *hns = dev->data->dev_private; @@ -1973,6 +1973,8 @@ hns3vf_dev_stop(struct rte_eth_dev *dev) hns3_rx_scattered_reset(dev); rte_eal_alarm_cancel(hns3vf_service_handler, dev); rte_spinlock_unlock(&hw->lock); + + return 0; } static int @@ -1980,12 +1982,13 @@ hns3vf_dev_close(struct rte_eth_dev *eth_dev) { struct hns3_adapter *hns = eth_dev->data->dev_private; struct hns3_hw *hw = &hns->hw; + int ret = 0; if (rte_eal_process_type() != RTE_PROC_PRIMARY) return 0; if (hw->adapter_state == HNS3_NIC_STARTED) - hns3vf_dev_stop(eth_dev); + ret = hns3vf_dev_stop(eth_dev); hw->adapter_state = HNS3_NIC_CLOSING; hns3_reset_abort(hns); @@ -2001,7 +2004,7 @@ hns3vf_dev_close(struct rte_eth_dev *eth_dev) hns3_mp_uninit_primary(); hns3_warn(hw, "Close port %d finished", hw->data->port_id); - return 0; + return ret; } static int @@ -2750,6 +2753,8 @@ hns3vf_dev_init(struct rte_eth_dev *eth_dev) return 0; } + eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS; + ret = hns3_mp_init_primary(); if (ret) { PMD_INIT_LOG(ERR,