[dpdk-dev] [PATCH 2/2] net/mlx5: fix probe return value polarity

Yongseok Koh yskoh at mellanox.com
Wed May 2 03:54:37 CEST 2018


> On May 1, 2018, at 4:18 AM, Shahaf Shuler <shahafs at mellanox.com> wrote:
> 
> 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 at 6wind.com
> 
> Signed-off-by: Shahaf Shuler <shahafs at mellanox.com>
> ---
> drivers/net/mlx5/mlx5.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
> index 46cb370a29..ab860b5985 100644
> --- a/drivers/net/mlx5/mlx5.c
> +++ b/drivers/net/mlx5/mlx5.c
> @@ -804,12 +804,16 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
> 				goto error;

Shouldn't you do the same for mlx5_uar_init_secondary()?
Looks like a few more. E.g. mlx5_args(), mlx5_get_mtu() and mlx5_uar_init_primary().
What about ibv_query_port() and mlx5_flow_create_drop_queue()? 

Thanks

> 			/* Receive command fd from primary process */
> 			err = mlx5_socket_connect(eth_dev);
> -			if (err < 0)
> +			if (err < 0) {
> +				err = -err;

Instead of changing sign, how about 'err = rte_errno;' ?
However, err looks redundant to me because mlx5_* funcs set rte_errno.
Here, err is used to set rte_errno at the end.

Thanks,
Yongseok

> 				goto error;
> +			}
> 			/* Remap UAR for Tx queues. */
> 			err = mlx5_tx_uar_remap(eth_dev, err);
> -			if (err)
> +			if (err) {
> +				err = -err;
> 				goto error;
> +			}
> 			/*
> 			 * Ethdev pointer is still required as input since
> 			 * the primary device is not accessible from the
> -- 
> 2.12.0
> 



More information about the dev mailing list