IB/ehca: Return correct #SGEs for SRQ
PATCH 1/1 IB/ehca: Return correct #SGEs for SRQ
Firmware would round up the number of SGEs to four, because the WQE structure holds four SGEs. For SRQ, only three are supported, so return a fixed value instead.
Signed-off-by Joachim Fenkes <[email protected]>
---
The patch will apply cleanly on top of Roland's git. Please review and apply for 2.6.24 -- Thanks!
drivers/infiniband/hw/ehca/ehca_qp.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/infiniband/hw/ehca/ehca_qp.c +2 -2
@@ -838,7 +838,7 @@ struct ib_srq *ehca_create_srq(struct ib_pd *pd,/* copy back return values */ srq_init_attr->attr.max_wr = qp_init_attr.cap.max_recv_wr; - srq_init_attr->attr.max_sge = qp_init_attr.cap.max_recv_sge; + srq_init_attr->attr.max_sge =3 ;/* drive SRQ into RTR state */ mqpcb =ehca_alloc_fw_ctrlblock (GFP_KERNEL );
@@ -1750,7 +1750,7 @@ int ehca_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr) } srq_attr->max_wr = qpcb->max_nr_outst_recv_wr -1 ; - srq_attr->max_sge = qpcb->actual_nr_sges_in_rq_wqe; + srq_attr->max_sge =3 ; srq_attr->srq_limit =EHCA_BMASK_GET (MQPCB_CURR_SRQ_LIMIT , qpcb->curr_srq_limit);
Signature · 1 line
1.5.2
Roland Dreier
Appliedthanks, applied.