From: Ivan Ilchenko <ivan.ilche...@oktetlabs.com>

rte_eth_dev_info_get() return value was changed from void to
int, so this patch modify rte_eth_dev_info_get() usage across
examples/ethtool according to its new return type.

Signed-off-by: Ivan Ilchenko <ivan.ilche...@oktetlabs.com>
Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com>
---
 examples/ethtool/ethtool-app/main.c |  8 +++++++-
 examples/ethtool/lib/rte_ethtool.c  | 19 ++++++++++++++++---
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/examples/ethtool/ethtool-app/main.c 
b/examples/ethtool/ethtool-app/main.c
index 3d2a70d52..774df7eb1 100644
--- a/examples/ethtool/ethtool-app/main.c
+++ b/examples/ethtool/ethtool-app/main.c
@@ -95,6 +95,7 @@ static void setup_ports(struct app_config *app_cfg, int 
cnt_ports)
        char str_name[16];
        uint16_t nb_rxd = PORT_RX_QUEUE_SIZE;
        uint16_t nb_txd = PORT_TX_QUEUE_SIZE;
+       int ret;
 
        memset(&cfg_port, 0, sizeof(cfg_port));
        cfg_port.txmode.mq_mode = ETH_MQ_TX_NONE;
@@ -102,7 +103,12 @@ static void setup_ports(struct app_config *app_cfg, int 
cnt_ports)
        for (idx_port = 0; idx_port < cnt_ports; idx_port++) {
                struct app_port *ptr_port = &app_cfg->ports[idx_port];
 
-               rte_eth_dev_info_get(idx_port, &dev_info);
+               ret = rte_eth_dev_info_get(idx_port, &dev_info);
+               if (ret != 0)
+                       rte_exit(EXIT_FAILURE,
+                               "Error during getting device (port %u) info: 
%s\n",
+                               idx_port, strerror(-ret));
+
                size_pktpool = dev_info.rx_desc_lim.nb_max +
                        dev_info.tx_desc_lim.nb_max + PKTPOOL_EXTRA_SIZE;
 
diff --git a/examples/ethtool/lib/rte_ethtool.c 
b/examples/ethtool/lib/rte_ethtool.c
index fd1692daa..43cacc057 100644
--- a/examples/ethtool/lib/rte_ethtool.c
+++ b/examples/ethtool/lib/rte_ethtool.c
@@ -41,7 +41,13 @@ rte_ethtool_get_drvinfo(uint16_t port_id, struct 
ethtool_drvinfo *drvinfo)
                printf("Insufficient fw version buffer size, "
                       "the minimum size should be %d\n", ret);
 
-       rte_eth_dev_info_get(port_id, &dev_info);
+       ret = rte_eth_dev_info_get(port_id, &dev_info);
+       if (ret != 0) {
+               printf("Error during getting device (port %u) info: %s\n",
+                      port_id, strerror(-ret));
+
+               return ret;
+       }
 
        strlcpy(drvinfo->driver, dev_info.driver_name,
                sizeof(drvinfo->driver));
@@ -370,8 +376,12 @@ rte_ethtool_net_set_rx_mode(uint16_t port_id)
        uint16_t num_vfs;
        struct rte_eth_dev_info dev_info;
        uint16_t vf;
+       int ret;
+
+       ret = rte_eth_dev_info_get(port_id, &dev_info);
+       if (ret != 0)
+               return ret;
 
-       rte_eth_dev_info_get(port_id, &dev_info);
        num_vfs = dev_info.max_vfs;
 
        /* Set VF vf_rx_mode, VF unsupport status is discard */
@@ -397,11 +407,14 @@ rte_ethtool_get_ringparam(uint16_t port_id,
        struct rte_eth_rxq_info rx_qinfo;
        struct rte_eth_txq_info tx_qinfo;
        int stat;
+       int ret;
 
        if (ring_param == NULL)
                return -EINVAL;
 
-       rte_eth_dev_info_get(port_id, &dev_info);
+       ret = rte_eth_dev_info_get(port_id, &dev_info);
+       if (ret != 0)
+               return ret;
 
        stat = rte_eth_rx_queue_info_get(port_id, 0, &rx_qinfo);
        if (stat != 0)
-- 
2.17.1

Reply via email to