RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW
In calculating the global maximum number of the Scatter/Gather elements
supported, the following four maximum parameters must be taken into
consideration: max_sg_rq, max_sg_sq, max_desc_sz_rq and max_desc_sz_sq.
However instead of bringing this complexity to query_device, which still
won't be sufficient anyway (the calculations are dependent on QP type),
the safer approach will be to restore old code, which will give us 32
SGEs.
Fixes: 33023fb85a
("IB/core: add max_send_sge and max_recv_sge attributes")
Reported-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
954a8e3aea
commit
8f28b178f7
drivers/infiniband/hw/mlx4
|
@ -517,9 +517,11 @@ static int mlx4_ib_query_device(struct ib_device *ibdev,
|
|||
props->page_size_cap = dev->dev->caps.page_size_cap;
|
||||
props->max_qp = dev->dev->quotas.qp;
|
||||
props->max_qp_wr = dev->dev->caps.max_wqes - MLX4_IB_SQ_MAX_SPARE;
|
||||
props->max_send_sge = dev->dev->caps.max_sq_sg;
|
||||
props->max_recv_sge = dev->dev->caps.max_rq_sg;
|
||||
props->max_sge_rd = MLX4_MAX_SGE_RD;
|
||||
props->max_send_sge =
|
||||
min(dev->dev->caps.max_sq_sg, dev->dev->caps.max_rq_sg);
|
||||
props->max_recv_sge =
|
||||
min(dev->dev->caps.max_sq_sg, dev->dev->caps.max_rq_sg);
|
||||
props->max_sge_rd = MLX4_MAX_SGE_RD;
|
||||
props->max_cq = dev->dev->quotas.cq;
|
||||
props->max_cqe = dev->dev->caps.max_cqes;
|
||||
props->max_mr = dev->dev->quotas.mpt;
|
||||
|
|
Loading…
Reference in New Issue