RE: [PATCH rdma-next] RDMA/cxgb4: Remove unnecessary conversion from __be32 to cpu format

Steve Wise
2017-10-24T18:42:16Z

>
> The scqe.stag is actually declared in u32 format and don't need
> conversion from __be32 to cpu format.
>
> Remove the be32_to_cpu() and avoid the following sparse error.
> drivers/infiniband/hw/cxgb4/cq.c:754:52: warning: cast to restricted __be32
>
> Cc: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
> Signed-off-by: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> ---
> drivers/infiniband/hw/cxgb4/t4.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/hw/cxgb4/t4.h
b/drivers/infiniband/hw/cxgb4/t4.h
> index 2b44fa850bbb..a16f3596f5a8 100644
> --- a/drivers/infiniband/hw/cxgb4/t4.h
> +++ b/drivers/infiniband/hw/cxgb4/t4.h
> @@ -234,7 +234,7 @@ struct t4_cqe {
>
> /* used for SQ completion processing */
> #define CQE_WRID_SQ_IDX(x) ((x)->u.scqe.cidx)
> -#define CQE_WRID_FR_STAG(x) (be32_to_cpu((x)->u.scqe.stag))
> +#define CQE_WRID_FR_STAG(x) ((x)->u.scqe.stag)

This is incorrect. The stag is filled in by HW which is BE. The declaration of
scqe.stag needs to be __be32.