mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 12:16:45 +07:00
net/mlx4_core: Fix checking order in MR table init
In procedure mlx4_init_mr_table(), slaves should do no processing, but should return success. This initialization is hypervisor-only. However, the check for num_mpts being a power-of-2 was performed before the check to return immediately if the driver is for a slave. This resulted in spurious failures. The order of performing the checks is reversed, so that if the driver is for a slave, no processing is done and success is returned. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2c957ff27d
commit
a30f1bc5c0
@ -755,14 +755,14 @@ int mlx4_init_mr_table(struct mlx4_dev *dev)
|
||||
struct mlx4_mr_table *mr_table = &priv->mr_table;
|
||||
int err;
|
||||
|
||||
if (!is_power_of_2(dev->caps.num_mpts))
|
||||
return -EINVAL;
|
||||
|
||||
/* Nothing to do for slaves - all MR handling is forwarded
|
||||
* to the master */
|
||||
if (mlx4_is_slave(dev))
|
||||
return 0;
|
||||
|
||||
if (!is_power_of_2(dev->caps.num_mpts))
|
||||
return -EINVAL;
|
||||
|
||||
err = mlx4_bitmap_init(&mr_table->mpt_bitmap, dev->caps.num_mpts,
|
||||
~0, dev->caps.reserved_mrws, 0);
|
||||
if (err)
|
||||
|
Loading…
Reference in New Issue
Block a user