From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shahaf Shuler Subject: Re: [PATCH 2/2] net/mlx5: fix probe return value polarity Date: Thu, 3 May 2018 07:40:28 +0000 Message-ID: References: <20180501111806.112319-1-shahafs@mellanox.com> <20180501111806.112319-2-shahafs@mellanox.com> <246A35AF-2BFD-41C6-BEFC-A93D559FBA88@mellanox.com> <20180502064941.4vwdku7ellgzq6cx@laranjeiro-vm.dev.6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: Adrien Mazarguil , "dev@dpdk.org" To: =?iso-8859-1?Q?N=E9lio_Laranjeiro?= , "Yongseok Koh" Return-path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40065.outbound.protection.outlook.com [40.107.4.65]) by dpdk.org (Postfix) with ESMTP id C3C202BDB for ; Thu, 3 May 2018 09:40:29 +0200 (CEST) In-Reply-To: <20180502064941.4vwdku7ellgzq6cx@laranjeiro-vm.dev.6wind.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Wednesday, May 2, 2018 9:50 AM, N=E9lio Laranjeiro: > Subject: Re: [PATCH 2/2] net/mlx5: fix probe return value polarity >=20 > On Wed, May 02, 2018 at 01:54:37AM +0000, Yongseok Koh wrote: > > > > > On May 1, 2018, at 4:18 AM, Shahaf Shuler > 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@6wind.com > > > > > > Signed-off-by: Shahaf Shuler > > > --- > > > 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(). Yes thanks. > > What about ibv_query_port()=20 No need, according to man: RETURN VALUE = =20 ibv_query_port() returns 0 on success, or the value of errno on fail= ure (which indicates the failure rea- son). = =20 This is also the case for ibv_query_port_ex, I will align it on the next ve= rsion.=20 and mlx5_flow_create_drop_queue()? Yes, needed.=20 > > > > Thanks > > > > > /* Receive command fd from primary process */ > > > err =3D mlx5_socket_connect(eth_dev); > > > - if (err < 0) > > > + if (err < 0) { > > > + err =3D -err; > > > > Instead of changing sign, how about 'err =3D rte_errno;' ? >=20 > +1 Ok. >=20 > > However, err looks redundant to me because mlx5_* funcs set rte_errno. >=20 > Not it is not, rte_errno is the strict equivalent of errno but instead of= being > global to the process, it is global per logical core, its cannot be deter= mined > nor modified at the beginning of the function thus the function must trac= k > any failure and report it accordingly. >=20 > > Here, err is used to set rte_errno at the end. >=20 > It is just a optimization to avoid a lot of rte_errno sets among the func= tion, it > must only be set if err !=3D 0. I think I will keep the local err for the meanwhile.=20 >=20 > > Thanks, > > Yongseok > > > > > goto error; > > > + } > > > /* Remap UAR for Tx queues. */ > > > err =3D mlx5_tx_uar_remap(eth_dev, err); > > > - if (err) > > > + if (err) { > > > + err =3D -err; > > > goto error; > > > + } > > > /* > > > * Ethdev pointer is still required as input since > > > * the primary device is not accessible from the > > > -- > > > 2.12.0 > > > >=20 > Regards, >=20 > -- > N=E9lio Laranjeiro > 6WIND