ethdev: change promiscuous callbacks to return status
[dpdk.git] / drivers / net / netvsc / hn_ethdev.c
index 69cf5d1..d04a6c8 100644 (file)
@@ -238,10 +238,11 @@ hn_dev_link_update(struct rte_eth_dev *dev,
        return rte_eth_linkstatus_set(dev, &link);
 }
 
-static void hn_dev_info_get(struct rte_eth_dev *dev,
-                           struct rte_eth_dev_info *dev_info)
+static int hn_dev_info_get(struct rte_eth_dev *dev,
+                          struct rte_eth_dev_info *dev_info)
 {
        struct hn_data *hv = dev->data->dev_private;
+       int rc;
 
        dev_info->speed_capa = ETH_LINK_SPEED_10G;
        dev_info->min_rx_bufsize = HN_MIN_RX_BUF_SIZE;
@@ -255,8 +256,15 @@ static void hn_dev_info_get(struct rte_eth_dev *dev,
        dev_info->max_rx_queues = hv->max_queues;
        dev_info->max_tx_queues = hv->max_queues;
 
-       hn_rndis_get_offload(hv, dev_info);
-       hn_vf_info_get(hv, dev_info);
+       rc = hn_rndis_get_offload(hv, dev_info);
+       if (rc != 0)
+               return rc;
+
+       rc = hn_vf_info_get(hv, dev_info);
+       if (rc != 0)
+               return rc;
+
+       return 0;
 }
 
 static int hn_rss_reta_update(struct rte_eth_dev *dev,
@@ -408,16 +416,16 @@ static int hn_rss_hash_conf_get(struct rte_eth_dev *dev,
        return 0;
 }
 
-static void
+static int
 hn_dev_promiscuous_enable(struct rte_eth_dev *dev)
 {
        struct hn_data *hv = dev->data->dev_private;
 
        hn_rndis_set_rxfilter(hv, NDIS_PACKET_TYPE_PROMISCUOUS);
-       hn_vf_promiscuous_enable(dev);
+       return hn_vf_promiscuous_enable(dev);
 }
 
-static void
+static int
 hn_dev_promiscuous_disable(struct rte_eth_dev *dev)
 {
        struct hn_data *hv = dev->data->dev_private;
@@ -427,7 +435,7 @@ hn_dev_promiscuous_disable(struct rte_eth_dev *dev)
        if (dev->data->all_multicast)
                filter |= NDIS_PACKET_TYPE_ALL_MULTICAST;
        hn_rndis_set_rxfilter(hv, filter);
-       hn_vf_promiscuous_disable(dev);
+       return hn_vf_promiscuous_disable(dev);
 }
 
 static void
@@ -763,7 +771,7 @@ hn_dev_xstats_get(struct rte_eth_dev *dev,
                }
        }
 
-       ret = hn_vf_xstats_get(dev, xstats + count, n - count);
+       ret = hn_vf_xstats_get(dev, xstats, count, n);
        if (ret < 0)
                return ret;