net/ring: release port upon close
[dpdk.git] / drivers / net / iavf / iavf_ethdev.c
index e1ff38e..8f46c45 100644 (file)
@@ -32,7 +32,7 @@
 static int iavf_dev_configure(struct rte_eth_dev *dev);
 static int iavf_dev_start(struct rte_eth_dev *dev);
 static void iavf_dev_stop(struct rte_eth_dev *dev);
-static void iavf_dev_close(struct rte_eth_dev *dev);
+static int iavf_dev_close(struct rte_eth_dev *dev);
 static int iavf_dev_reset(struct rte_eth_dev *dev);
 static int iavf_dev_info_get(struct rte_eth_dev *dev,
                             struct rte_eth_dev_info *dev_info);
@@ -157,7 +157,7 @@ iavf_init_rss(struct iavf_adapter *adapter)
 {
        struct iavf_info *vf =  IAVF_DEV_PRIVATE_TO_VF(adapter);
        struct rte_eth_rss_conf *rss_conf;
-       uint8_t i, j, nb_q;
+       uint16_t i, j, nb_q;
        int ret;
 
        rss_conf = &adapter->eth_dev->data->dev_conf.rx_adv_conf.rss_conf;
@@ -1285,6 +1285,8 @@ iavf_init_vf(struct rte_eth_dev *dev)
                }
        }
 
+       vf->vf_reset = false;
+
        return 0;
 err_rss:
        rte_free(vf->rss_key);
@@ -1461,7 +1463,7 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
        return 0;
 }
 
-static void
+static int
 iavf_dev_close(struct rte_eth_dev *dev)
 {
        struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
@@ -1504,6 +1506,8 @@ iavf_dev_close(struct rte_eth_dev *dev)
 
        rte_free(vf->aq_resp);
        vf->aq_resp = NULL;
+
+       return 0;
 }
 
 static int