On Tue, Feb 05, 2019 at 04:14:28PM +0200, Gal Pressman wrote: > On 04-Feb-19 23:17, Jason Gunthorpe wrote: > > From: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > > > > Since another rename could be running in parallel it is safer to check > > that the name is not changing inside the lock, where we already know the > > device name will not change. > > > > Fixes: d21943dd19b5 ("RDMA/core: Implement IB device rename function") > > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > > Reviewed-by: Parav Pandit <parav@xxxxxxxxxxxx> > > drivers/infiniband/core/device.c | 10 ++++++---- > > 1 file changed, 6 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c > > index 55221990d946b2..f9f33e842c16b6 100644 > > +++ b/drivers/infiniband/core/device.c > > @@ -189,12 +189,14 @@ static struct ib_device *__ib_device_get_by_name(const char *name) > > > > int ib_device_rename(struct ib_device *ibdev, const char *name) > > { > > - int ret = 0; > > - > > - if (!strcmp(name, dev_name(&ibdev->dev))) > > - return ret; > > + int ret; > > > > mutex_lock(&device_mutex); > > + if (!strcmp(name, dev_name(&ibdev->dev))) { > > + ret = -EEXIST; > > Why did this change to an error? Hmm.. Probably shouldn't change it - even though I think this version is more appropriate. Jason