[dpdk-dev] [PATCH v3 09/10] net/bnxt: release port upon close

Somnath Kotur somnath.kotur at broadcom.com
Tue Jan 14 15:49:16 CET 2020


Ferruh,
Will recheck and revert on

Thanks
Som

On Tue, 14 Jan 2020, 18:26 Ferruh Yigit, <ferruh.yigit at intel.com> wrote:

> On 1/14/2020 5:14 AM, Ajit Khaparde wrote:
> > From: Somnath Kotur <somnath.kotur at broadcom.com>
> >
> > Set RTE_ETH_DEV_CLOSE_REMOVE upon probe so all the private resources
> > for the port can be freed by rte_eth_dev_close().
> >
> > Signed-off-by: Somnath Kotur <somnath.kotur at broadcom.com>
> > Reviewed-by: Kalesh Anakkur Purayil <kalesh-anakkur.purayil at broadcom.com
> >
> > Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
> > ---
> >  drivers/net/bnxt/bnxt_ethdev.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/net/bnxt/bnxt_ethdev.c
> b/drivers/net/bnxt/bnxt_ethdev.c
> > index ba3f0a7d9..8acfade5f 100644
> > --- a/drivers/net/bnxt/bnxt_ethdev.c
> > +++ b/drivers/net/bnxt/bnxt_ethdev.c
> > @@ -4856,6 +4856,11 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
> >       if (rc)
> >               goto error_free;
> >
> > +     /* Pass the information to the rte_eth_dev_close() that it should
> also
> > +      * release the private port resources.
> > +      */
> > +     eth_dev->data->dev_flags |= RTE_ETH_DEV_CLOSE_REMOVE;
> > +
>
> When you give this flag, 'rte_eth_dev_close()' will release port
> resources, it
> will memset the 'eth_dev->data'.
>
> In case user first closed the port, later removed it, remove path should
> be safe
> for it. I can see 'bnxt_dev_uninit()' operates on the values of
> 'eth_dev->data'
> which should crash in this case.
>
> Can you please double check the return path, all following should be safe:
> - close the port
> - remove the port
> - close and remove the port
>


More information about the dev mailing list