On Mon, Sep 9, 2024 at 11:10 PM Michael Guralnik <michaelgur@xxxxxxxxxx> wrote: > > From: Chiara Meiohas <cmeiohas@xxxxxxxxxx> > > The caller of ib_device_get_netdev() relies on its result to accurately > match a given netdev with the ib device associated netdev. > > ib_device_get_netdev returns NULL when the IB device associated > netdev is unregistering, preventing the caller of matching netdevs properly. > > Thus, remove this optimization and return the netdev even if > it is undergoing unregistration, allowing matching by the caller. > > This change ensures proper netdev matching and reference count handling > by the caller of ib_device_get_netdev/ib_device_set_netdev API. > > Signed-off-by: Maher Sanalla <msanalla@xxxxxxxxxx> > Signed-off-by: Chiara Meiohas <cmeiohas@xxxxxxxxxx> > Signed-off-by: Michael Guralnik <michaelgur@xxxxxxxxxx> > Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxx> Looks good to me Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@xxxxxxxxxxxx> > --- > drivers/infiniband/core/device.c | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c > index 0290aca18d26..b1377503cb9d 100644 > --- a/drivers/infiniband/core/device.c > +++ b/drivers/infiniband/core/device.c > @@ -2252,15 +2252,6 @@ struct net_device *ib_device_get_netdev(struct ib_device *ib_dev, > spin_unlock(&pdata->netdev_lock); > } > > - /* > - * If we are starting to unregister expedite things by preventing > - * propagation of an unregistering netdev. > - */ > - if (res && res->reg_state != NETREG_REGISTERED) { > - dev_put(res); > - return NULL; > - } > - > return res; > } > > -- > 2.17.2 > > -- Regards, Kalesh A P
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature