IB/mlx4: Correct max_srq_wr returned from mlx4_ib_query_device()

We need to keep a spare entry in the SRQ so that there always is a
next WQE available when posting receives (so that we can tell the
difference between a full queue and an empty queue). So subtract 1
from the value HW gives us before reporting the limit on SRQ entries
to consumers.

Found by Mellanox QA.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

authored by Jack Morgenstein and committed by Roland Dreier c8681f14 13ef5f44

+1 -1
+1 -1
drivers/infiniband/hw/mlx4/main.c
··· 120 props->max_qp_init_rd_atom = dev->dev->caps.max_qp_init_rdma; 121 props->max_res_rd_atom = props->max_qp_rd_atom * props->max_qp; 122 props->max_srq = dev->dev->caps.num_srqs - dev->dev->caps.reserved_srqs; 123 - props->max_srq_wr = dev->dev->caps.max_srq_wqes; 124 props->max_srq_sge = dev->dev->caps.max_srq_sge; 125 props->local_ca_ack_delay = dev->dev->caps.local_ca_ack_delay; 126 props->atomic_cap = dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_ATOMIC ?
··· 120 props->max_qp_init_rd_atom = dev->dev->caps.max_qp_init_rdma; 121 props->max_res_rd_atom = props->max_qp_rd_atom * props->max_qp; 122 props->max_srq = dev->dev->caps.num_srqs - dev->dev->caps.reserved_srqs; 123 + props->max_srq_wr = dev->dev->caps.max_srq_wqes - 1; 124 props->max_srq_sge = dev->dev->caps.max_srq_sge; 125 props->local_ca_ack_delay = dev->dev->caps.local_ca_ack_delay; 126 props->atomic_cap = dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_ATOMIC ?