IB/mlx4: Fix the SQ size of an RC QP
authorYishai Hadas <yishaih@mellanox.com>
Wed, 22 Jun 2016 14:27:28 +0000 (17:27 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 22 Aug 2016 21:37:16 +0000 (22:37 +0100)
commit f2940e2c76bb554a7fbdd28ca5b90904117a9e96 upstream.

When calculating the required size of an RC QP send queue, leave
enough space for masked atomic operations, which require more space than
"regular" atomic operation.

Fixes: 6fa8f719844b ("IB/mlx4: Add support for masked atomic operations")
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Reviewed-by: Jack Morgenstein <jackm@mellanox.co.il>
Reviewed-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/infiniband/hw/mlx4/qp.c

index 2ed14a7..1165949 100644 (file)
@@ -283,7 +283,7 @@ static int send_wqe_overhead(enum ib_qp_type type, u32 flags)
                        sizeof (struct mlx4_wqe_raddr_seg);
        case IB_QPT_RC:
                return sizeof (struct mlx4_wqe_ctrl_seg) +
                        sizeof (struct mlx4_wqe_raddr_seg);
        case IB_QPT_RC:
                return sizeof (struct mlx4_wqe_ctrl_seg) +
-                       sizeof (struct mlx4_wqe_atomic_seg) +
+                       sizeof (struct mlx4_wqe_masked_atomic_seg) +
                        sizeof (struct mlx4_wqe_raddr_seg);
        case IB_QPT_SMI:
        case IB_QPT_GSI:
                        sizeof (struct mlx4_wqe_raddr_seg);
        case IB_QPT_SMI:
        case IB_QPT_GSI: