net/mlx4_core: Fix mailbox leak in error flow when performing update qp
The procedure mlx4_update_qp leaks mailboxes in its error-flow, fix that. 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
ba4b87aedd
commit
a5b3c56ef7
|
@ -422,15 +422,15 @@ int mlx4_update_qp(struct mlx4_dev *dev, u32 qpn,
|
||||||
u64 qp_mask = 0;
|
u64 qp_mask = 0;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
|
if (!attr || (attr & ~MLX4_UPDATE_QP_SUPPORTED_ATTRS))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
mailbox = mlx4_alloc_cmd_mailbox(dev);
|
mailbox = mlx4_alloc_cmd_mailbox(dev);
|
||||||
if (IS_ERR(mailbox))
|
if (IS_ERR(mailbox))
|
||||||
return PTR_ERR(mailbox);
|
return PTR_ERR(mailbox);
|
||||||
|
|
||||||
cmd = (struct mlx4_update_qp_context *)mailbox->buf;
|
cmd = (struct mlx4_update_qp_context *)mailbox->buf;
|
||||||
|
|
||||||
if (!attr || (attr & ~MLX4_UPDATE_QP_SUPPORTED_ATTRS))
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
if (attr & MLX4_UPDATE_QP_SMAC) {
|
if (attr & MLX4_UPDATE_QP_SMAC) {
|
||||||
pri_addr_path_mask |= 1ULL << MLX4_UPD_QP_PATH_MASK_MAC_INDEX;
|
pri_addr_path_mask |= 1ULL << MLX4_UPD_QP_PATH_MASK_MAC_INDEX;
|
||||||
cmd->qp_context.pri_path.grh_mylmc = params->smac_index;
|
cmd->qp_context.pri_path.grh_mylmc = params->smac_index;
|
||||||
|
|
Loading…
Reference in New Issue