diff options
author | Maor Gottlieb | 2015-02-03 16:57:15 +0100 |
---|---|---|
committer | David S. Miller | 2015-02-05 01:17:45 +0100 |
commit | b332068ce4261b37d05f438fbc487e357fffa108 (patch) | |
tree | 33f5abc4da61980c6dc1fc299ef67c3878384548 /drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | |
parent | Merge branch 'mlx4-next' (diff) | |
download | kernel-qcow2-linux-b332068ce4261b37d05f438fbc487e357fffa108.tar.gz kernel-qcow2-linux-b332068ce4261b37d05f438fbc487e357fffa108.tar.xz kernel-qcow2-linux-b332068ce4261b37d05f438fbc487e357fffa108.zip |
net/mlx4_core: Fix mpt_entry initialization in mlx4_mr_rereg_mem_write()
a) Previously, mlx4_mr_rereg_write filled the MPT's start
and length with the old MPT's values.
Fixing the initialization to take the new start and length.
b) In addition access flags in mpt_status were initialized instead of
status due to bad boolean operation. Fixing the operation.
c) Initialization of pd_slave caused a protection error.
Fix - removing this initialization.
d) In resource_tracker.c: Fixing vf encoding to be one-based.
Fixes: e630664c ('mlx4_core: Add helper functions to support MR re-registration')
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/resource_tracker.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c index c5f3dfca226b..486e3d26cd4a 100644 --- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c +++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c @@ -2541,7 +2541,7 @@ int mlx4_SW2HW_MPT_wrapper(struct mlx4_dev *dev, int slave, /* Make sure that the PD bits related to the slave id are zeros. */ pd = mr_get_pd(inbox->buf); pd_slave = (pd >> 17) & 0x7f; - if (pd_slave != 0 && pd_slave != slave) { + if (pd_slave != 0 && --pd_slave != slave) { err = -EPERM; goto ex_abort; } |