diff mbox series

[for-next] RDMA/qedr: Fix reporting max_{send/recv}_wr attrs

Message ID 20211206201314.124947-1-kamalheib1@gmail.com (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show
Series [for-next] RDMA/qedr: Fix reporting max_{send/recv}_wr attrs | expand

Commit Message

Kamal Heib Dec. 6, 2021, 8:13 p.m. UTC
Fix the wrongly reported max_send_wr and max_recv_wr attributes for user
QP by making sure to save their valuse on QP creation, so when query QP
is called the attributes will be reported correctly.

Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
---
 drivers/infiniband/hw/qedr/verbs.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Jason Gunthorpe Dec. 6, 2021, 9:06 p.m. UTC | #1
On Mon, Dec 06, 2021 at 10:13:14PM +0200, Kamal Heib wrote:
> Fix the wrongly reported max_send_wr and max_recv_wr attributes for user
> QP by making sure to save their valuse on QP creation, so when query QP
> is called the attributes will be reported correctly.
> 
> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> ---
>  drivers/infiniband/hw/qedr/verbs.c | 2 ++
>  1 file changed, 2 insertions(+)

Fixes line?

Jason
Kamal Heib Dec. 7, 2021, 9:31 a.m. UTC | #2
On Mon, Dec 06, 2021 at 05:06:55PM -0400, Jason Gunthorpe wrote:
> On Mon, Dec 06, 2021 at 10:13:14PM +0200, Kamal Heib wrote:
> > Fix the wrongly reported max_send_wr and max_recv_wr attributes for user
> > QP by making sure to save their valuse on QP creation, so when query QP
> > is called the attributes will be reported correctly.
> > 
> > Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > ---
> >  drivers/infiniband/hw/qedr/verbs.c | 2 ++
> >  1 file changed, 2 insertions(+)
> 
> Fixes line?
> 
> Jason

Fixes: cecbcddf6461 ("qedr: Add support for QP verbs")

Thanks,
Kamal
Michal Kalderon Dec. 7, 2021, 10:56 a.m. UTC | #3
> From: Kamal Heib <kamalheib1@gmail.com>
> Sent: Monday, December 6, 2021 10:13 PM
>
> Fix the wrongly reported max_send_wr and max_recv_wr attributes for user
> QP by making sure to save their valuse on QP creation, so when query QP
> is called the attributes will be reported correctly.
> 
> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> ---
>  drivers/infiniband/hw/qedr/verbs.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/infiniband/hw/qedr/verbs.c
> b/drivers/infiniband/hw/qedr/verbs.c
> index 9100009f0a23..a53476653b0d 100644
> --- a/drivers/infiniband/hw/qedr/verbs.c
> +++ b/drivers/infiniband/hw/qedr/verbs.c
> @@ -1931,6 +1931,7 @@ static int qedr_create_user_qp(struct qedr_dev
> *dev,
>  	/* db offset was calculated in copy_qp_uresp, now set in the user q
> */
>  	if (qedr_qp_has_sq(qp)) {
>  		qp->usq.db_addr = ctx->dpi_addr + uresp.sq_db_offset;
> +		qp->sq.max_wr = attrs->cap.max_send_wr;
>  		rc = qedr_db_recovery_add(dev, qp->usq.db_addr,
>  					  &qp->usq.db_rec_data->db_data,
>  					  DB_REC_WIDTH_32B,
> @@ -1941,6 +1942,7 @@ static int qedr_create_user_qp(struct qedr_dev
> *dev,
> 
>  	if (qedr_qp_has_rq(qp)) {
>  		qp->urq.db_addr = ctx->dpi_addr + uresp.rq_db_offset;
> +		qp->rq.max_wr = attrs->cap.max_recv_wr;
>  		rc = qedr_db_recovery_add(dev, qp->urq.db_addr,
>  					  &qp->urq.db_rec_data->db_data,
>  					  DB_REC_WIDTH_32B,
> --
> 2.31.1

Thanks, 

Acked-by: Michal Kalderon <michal.kalderon@marvell.com>
Jason Gunthorpe Dec. 7, 2021, 7:04 p.m. UTC | #4
On Mon, Dec 06, 2021 at 10:13:14PM +0200, Kamal Heib wrote:
> Fix the wrongly reported max_send_wr and max_recv_wr attributes for user
> QP by making sure to save their valuse on QP creation, so when query QP
> is called the attributes will be reported correctly.
> 
> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> Acked-by: Michal Kalderon <michal.kalderon@marvell.com>
> ---
>  drivers/infiniband/hw/qedr/verbs.c | 2 ++
>  1 file changed, 2 insertions(+)

Applied to for-next, thanks

Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
index 9100009f0a23..a53476653b0d 100644
--- a/drivers/infiniband/hw/qedr/verbs.c
+++ b/drivers/infiniband/hw/qedr/verbs.c
@@ -1931,6 +1931,7 @@  static int qedr_create_user_qp(struct qedr_dev *dev,
 	/* db offset was calculated in copy_qp_uresp, now set in the user q */
 	if (qedr_qp_has_sq(qp)) {
 		qp->usq.db_addr = ctx->dpi_addr + uresp.sq_db_offset;
+		qp->sq.max_wr = attrs->cap.max_send_wr;
 		rc = qedr_db_recovery_add(dev, qp->usq.db_addr,
 					  &qp->usq.db_rec_data->db_data,
 					  DB_REC_WIDTH_32B,
@@ -1941,6 +1942,7 @@  static int qedr_create_user_qp(struct qedr_dev *dev,
 
 	if (qedr_qp_has_rq(qp)) {
 		qp->urq.db_addr = ctx->dpi_addr + uresp.rq_db_offset;
+		qp->rq.max_wr = attrs->cap.max_recv_wr;
 		rc = qedr_db_recovery_add(dev, qp->urq.db_addr,
 					  &qp->urq.db_rec_data->db_data,
 					  DB_REC_WIDTH_32B,