From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shahaf Shuler Subject: [PATCH v2 2/2] net/mlx5: fix probe return value polarity Date: Thu, 3 May 2018 10:59:37 +0300 Message-ID: <58bf3a469720a2b1cad4c84cb8ca971b756a2215.1525334236.git.shahafs@mellanox.com> References: <20180501111806.112319-1-shahafs@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain Cc: dev@dpdk.org To: nelio.laranjeiro@6wind.com, adrien.mazarguil@6wind.com, yskoh@mellanox.com Return-path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40056.outbound.protection.outlook.com [40.107.4.56]) by dpdk.org (Postfix) with ESMTP id 53111231E for ; Thu, 3 May 2018 10:00:06 +0200 (CEST) In-Reply-To: <20180501111806.112319-1-shahafs@mellanox.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" mlx5 prefixed function returns a negative errno value. the error handler on mlx5_pci_probe is doing the same. Fixes: a6d83b6a9209 ("net/mlx5: standardize on negative errno values") Cc: nelio.laranjeiro@6wind.com Signed-off-by: Shahaf Shuler --- On v2: - fixed more polarity issues on different mlx5_* functions. - aligned verb calls return values. --- drivers/net/mlx5/mlx5.c | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 46cb370a29..7afdae863f 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -751,8 +751,9 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, DRV_LOG(WARNING, "tunnel offloading disabled due to old OFED/rdma-core version"); #endif - if (mlx5_glue->query_device_ex(attr_ctx, NULL, &device_attr)) { - err = errno; + err = mlx5_glue->query_device_ex(attr_ctx, NULL, &device_attr); + if (err) { + DRV_LOG(ERR, "ibv_query_device_ex() failed"); goto error; } DRV_LOG(INFO, "%u port(s) detected", @@ -800,16 +801,22 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, eth_dev->device = &pci_dev->device; eth_dev->dev_ops = &mlx5_dev_sec_ops; err = mlx5_uar_init_secondary(eth_dev); - if (err) + if (err) { + err = rte_errno; goto error; + } /* Receive command fd from primary process */ err = mlx5_socket_connect(eth_dev); - if (err < 0) + if (err < 0) { + err = rte_errno; goto error; + } /* Remap UAR for Tx queues. */ err = mlx5_tx_uar_remap(eth_dev, err); - if (err) + if (err) { + err = rte_errno; goto error; + } /* * Ethdev pointer is still required as input since * the primary device is not accessible from the @@ -873,11 +880,12 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, if (err) { DRV_LOG(ERR, "failed to process device arguments: %s", strerror(err)); + err = rte_errno; goto port_error; } - if (mlx5_glue->query_device_ex(ctx, NULL, &device_attr_ex)) { + err = mlx5_glue->query_device_ex(ctx, NULL, &device_attr_ex); + if (err) { DRV_LOG(ERR, "ibv_query_device_ex() failed"); - err = errno; goto port_error; } config.hw_csum = !!(device_attr_ex.device_cap_flags_ex & @@ -952,8 +960,10 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, rte_eth_copy_pci_info(eth_dev, pci_dev); eth_dev->device->driver = &mlx5_driver.driver; err = mlx5_uar_init_primary(eth_dev); - if (err) + if (err) { + err = rte_errno; goto port_error; + } /* Configure the first MAC address by default. */ if (mlx5_get_mac(eth_dev, &mac.addr_bytes)) { DRV_LOG(ERR, @@ -983,8 +993,10 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, #endif /* Get actual MTU if possible. */ err = mlx5_get_mtu(eth_dev, &priv->mtu); - if (err) + if (err) { + err = rte_errno; goto port_error; + } DRV_LOG(DEBUG, "port %u MTU is %u", eth_dev->data->port_id, priv->mtu); /* @@ -1031,6 +1043,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, if (err) { DRV_LOG(ERR, "port %u drop queue allocation failed: %s", eth_dev->data->port_id, strerror(rte_errno)); + err = rte_errno; goto port_error; } /* Supported Verbs flow priority number detection. */ -- 2.12.0