Re: [PATCH rdma-rc] RDMA/mlx5: Set GRH fields in query QP on RoCE

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

 



On Mon, Apr 13, 2020 at 04:20:28PM +0300, Leon Romanovsky wrote:
> From: Aharon Landau <aharonl@xxxxxxxxxxxx>
> 
> GRH fields such as sgid_index, hop limit and etc. are set in the
> QP context when QP is created/modified.
> 
> Currently, when query QP is performed, we fill the GRH fields only
> if the GRH bit is set in the QP context, but this bit is not set
> for RoCE. Adjust the check so we will set all relevant data for
> the RoCE too.
> 
> Fixes: d8966fcd4c25 ("IB/core: Use rdma_ah_attr accessor functions")
> Signed-off-by: Aharon Landau <aharonl@xxxxxxxxxxxx>
> Reviewed-by: Maor Gottlieb <maorg@xxxxxxxxxxxx>
> Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> ---
>  drivers/infiniband/hw/mlx5/qp.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c
> index 1456db4b6295..a4f8e7c7ed24 100644
> --- a/drivers/infiniband/hw/mlx5/qp.c
> +++ b/drivers/infiniband/hw/mlx5/qp.c
> @@ -5558,13 +5558,13 @@ static void to_rdma_ah_attr(struct mlx5_ib_dev *ibdev,
>  	rdma_ah_set_path_bits(ah_attr, path->grh_mlid & 0x7f);
>  	rdma_ah_set_static_rate(ah_attr,
>  				path->static_rate ? path->static_rate - 5 : 0);
> -	if (path->grh_mlid & (1 << 7)) {
> +
> +	if (path->grh_mlid & (1 << 7) ||
> +	    ah_attr->type == RDMA_AH_ATTR_TYPE_ROCE) {
>  		u32 tc_fl = be32_to_cpu(path->tclass_flowlabel);
>  
> -		rdma_ah_set_grh(ah_attr, NULL,
> -				tc_fl & 0xfffff,
> -				path->mgid_index,
> -				path->hop_limit,
> +		rdma_ah_set_grh(ah_attr, NULL, tc_fl & 0xfffff,
> +				path->mgid_index, path->hop_limit,

Why is whitespace reformatting in a -rc patch? I dropped this.

Applied to for-rc

Jason



[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