RE: [EXT] [PATCH for-next] RDMA/qedr: Fix reporting QP timeout attribute

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: Kamal Heib <kamalheib1@xxxxxxxxx>
> Sent: Wednesday, May 25, 2022 4:20 PM
> ----------------------------------------------------------------------
> Make sure to save the passed QP timeout attribute when the QP gets
> modified,
> so when calling query QP the right value is reported and not the
> converted value that is required by the firmware. This issue was found
> while running the pyverbs tests.
> 
> Fixes: cecbcddf6461 ("qedr: Add support for QP verbs")
> Signed-off-by: Kamal Heib <kamalheib1@xxxxxxxxx>
> ---
>  drivers/infiniband/hw/qedr/qedr.h  | 1 +
>  drivers/infiniband/hw/qedr/verbs.c | 4 +++-
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/hw/qedr/qedr.h
> b/drivers/infiniband/hw/qedr/qedr.h
> index 8def88cfa300..db9ef3e1eb97 100644
> --- a/drivers/infiniband/hw/qedr/qedr.h
> +++ b/drivers/infiniband/hw/qedr/qedr.h
> @@ -418,6 +418,7 @@ struct qedr_qp {
>  	u32 sq_psn;
>  	u32 qkey;
>  	u32 dest_qp_num;
> +	u8 timeout;
> 
>  	/* Relevant to qps created from kernel space only (ULPs) */
>  	u8 prev_wqe_size;
> diff --git a/drivers/infiniband/hw/qedr/verbs.c
> b/drivers/infiniband/hw/qedr/verbs.c
> index f0f43b6db89e..03ed7c0fae50 100644
> --- a/drivers/infiniband/hw/qedr/verbs.c
> +++ b/drivers/infiniband/hw/qedr/verbs.c
> @@ -2613,6 +2613,8 @@ int qedr_modify_qp(struct ib_qp *ibqp, struct
> ib_qp_attr *attr,
>  					1 << max_t(int, attr->timeout - 8, 0);
>  		else
>  			qp_params.ack_timeout = 0;
> +
> +		qp->timeout = attr->timeout;
>  	}
> 
>  	if (attr_mask & IB_QP_RETRY_CNT) {
> @@ -2772,7 +2774,7 @@ int qedr_query_qp(struct ib_qp *ibqp,
>  	rdma_ah_set_dgid_raw(&qp_attr->ah_attr, &params.dgid.bytes[0]);
>  	rdma_ah_set_port_num(&qp_attr->ah_attr, 1);
>  	rdma_ah_set_sl(&qp_attr->ah_attr, 0);
> -	qp_attr->timeout = params.timeout;
> +	qp_attr->timeout = qp->timeout;
>  	qp_attr->rnr_retry = params.rnr_retry;
>  	qp_attr->retry_cnt = params.retry_cnt;
>  	qp_attr->min_rnr_timer = params.min_rnr_nak_timer;
> --
> 2.34.3

Thanks, 

Acked-by: Michal Kalderon <michal.kalderon@xxxxxxxxxxx>






[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux