| From foo@baz Sun Dec 31 11:13:15 CET 2017 |
| From: Moni Shoua <monis@mellanox.com> |
| Date: Mon, 4 Dec 2017 08:59:25 +0200 |
| Subject: net/mlx5: Fix error flow in CREATE_QP command |
| |
| From: Moni Shoua <monis@mellanox.com> |
| |
| |
| [ Upstream commit dbff26e44dc3ec4de6578733b054a0114652a764 ] |
| |
| In error flow, when DESTROY_QP command should be executed, the wrong |
| mailbox was set with data, not the one that is written to hardware, |
| Fix that. |
| |
| Fixes: 09a7d9eca1a6 '{net,IB}/mlx5: QP/XRCD commands via mlx5 ifc' |
| Signed-off-by: Moni Shoua <monis@mellanox.com> |
| Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/mellanox/mlx5/core/qp.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/net/ethernet/mellanox/mlx5/core/qp.c |
| +++ b/drivers/net/ethernet/mellanox/mlx5/core/qp.c |
| @@ -303,8 +303,8 @@ int mlx5_core_create_qp(struct mlx5_core |
| err_cmd: |
| memset(din, 0, sizeof(din)); |
| memset(dout, 0, sizeof(dout)); |
| - MLX5_SET(destroy_qp_in, in, opcode, MLX5_CMD_OP_DESTROY_QP); |
| - MLX5_SET(destroy_qp_in, in, qpn, qp->qpn); |
| + MLX5_SET(destroy_qp_in, din, opcode, MLX5_CMD_OP_DESTROY_QP); |
| + MLX5_SET(destroy_qp_in, din, qpn, qp->qpn); |
| mlx5_cmd_exec(dev, din, sizeof(din), dout, sizeof(dout)); |
| return err; |
| } |