RDMA/device: Return error earlier if port in not valid
[ Upstream commit 917918f57a7b139c043e78c502876f2c286f4f0a ]
There is no need to allocate port data if port provided is not valid.
Fixes: c2261dd76b
("RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev")
Link: https://lore.kernel.org/r/022047a8b16988fc88d4426da50bf60a4833311b.1719235449.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
695d70c60b
commit
37a484f771
@ -2106,6 +2106,9 @@ int ib_device_set_netdev(struct ib_device *ib_dev, struct net_device *ndev,
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
if (!rdma_is_port_valid(ib_dev, port))
|
||||
return -EINVAL;
|
||||
|
||||
/*
|
||||
* Drivers wish to call this before ib_register_driver, so we have to
|
||||
* setup the port data early.
|
||||
@ -2114,9 +2117,6 @@ int ib_device_set_netdev(struct ib_device *ib_dev, struct net_device *ndev,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (!rdma_is_port_valid(ib_dev, port))
|
||||
return -EINVAL;
|
||||
|
||||
pdata = &ib_dev->port_data[port];
|
||||
spin_lock_irqsave(&pdata->netdev_lock, flags);
|
||||
old_ndev = rcu_dereference_protected(
|
||||
|
Loading…
Reference in New Issue
Block a user