net/netvsc: check status of getting ethdev info
authorIvan Ilchenko <ivan.ilchenko@oktetlabs.ru>
Thu, 12 Sep 2019 16:42:26 +0000 (17:42 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 7 Oct 2019 12:45:35 +0000 (14:45 +0200)
rte_eth_dev_info_get() return value was changed from void to int,
so this patch modify rte_eth_dev_info_get() usage across
net/netvsc according to its new return type.

Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/netvsc/hn_var.h
drivers/net/netvsc/hn_vf.c

index 3f5e8df..e0ebe4e 100644 (file)
@@ -201,7 +201,7 @@ hn_get_vf_dev(const struct hn_data *hv)
                return &rte_eth_devices[vf_port];
 }
 
-void   hn_vf_info_get(struct hn_data *hv,
+int    hn_vf_info_get(struct hn_data *hv,
                       struct rte_eth_dev_info *info);
 int    hn_vf_add(struct rte_eth_dev *dev, struct hn_data *hv);
 int    hn_vf_configure(struct rte_eth_dev *dev,
index 03f855b..d53d27b 100644 (file)
@@ -172,12 +172,15 @@ hn_nvs_handle_vfassoc(struct rte_eth_dev *dev,
  * use the default config of the VF
  * and the minimum number of queues and buffer sizes.
  */
-static void hn_vf_info_merge(struct rte_eth_dev *vf_dev,
+static int hn_vf_info_merge(struct rte_eth_dev *vf_dev,
                             struct rte_eth_dev_info *info)
 {
        struct rte_eth_dev_info vf_info;
+       int ret;
 
-       rte_eth_dev_info_get(vf_dev->data->port_id, &vf_info);
+       ret = rte_eth_dev_info_get(vf_dev->data->port_id, &vf_info);
+       if (ret != 0)
+               return ret;
 
        info->speed_capa = vf_info.speed_capa;
        info->default_rxportconf = vf_info.default_rxportconf;
@@ -198,17 +201,21 @@ static void hn_vf_info_merge(struct rte_eth_dev *vf_dev,
                                       info->min_rx_bufsize);
        info->max_rx_pktlen  = RTE_MAX(vf_info.max_rx_pktlen,
                                       info->max_rx_pktlen);
+
+       return 0;
 }
 
-void hn_vf_info_get(struct hn_data *hv, struct rte_eth_dev_info *info)
+int hn_vf_info_get(struct hn_data *hv, struct rte_eth_dev_info *info)
 {
        struct rte_eth_dev *vf_dev;
+       int ret = 0;
 
        rte_spinlock_lock(&hv->vf_lock);
        vf_dev = hn_get_vf_dev(hv);
        if (vf_dev)
-               hn_vf_info_merge(vf_dev, info);
+               ret = hn_vf_info_merge(vf_dev, info);
        rte_spinlock_unlock(&hv->vf_lock);
+       return ret;
 }
 
 int hn_vf_link_update(struct rte_eth_dev *dev,