Message ID | 20240822065223.1117056-4-pizhenwei@bytedance.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Jason Gunthorpe |
Headers | show |
Series | RDMA/rxe misc fixes | expand |
在 2024/8/22 14:52, zhenwei pi 写道: > __bth_set_resv6a is used to clear BIT [24, 29] of rxe_bth::qpn, the > wrong expression leads other BITs into 1. From the spec " 9.2.11 RESERVE 6(RESV6) - 6 BITS Reserved (variant) - 6 bits. Transmitted as 0, ignored on receive. This field is not included in the invariant CRC. C9-6: When generating a packet, the sender shall set the Resv6, F/Res1 and B/Res1 fields to zero. In general, the receiver shall ignore the reserved fields. " I agree with you. Thanks a lot. Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev> Zhu Yanjun > > Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> > --- > drivers/infiniband/sw/rxe/rxe_hdr.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/infiniband/sw/rxe/rxe_hdr.h b/drivers/infiniband/sw/rxe/rxe_hdr.h > index 46f82b27fcd2..1f0322491d8c 100644 > --- a/drivers/infiniband/sw/rxe/rxe_hdr.h > +++ b/drivers/infiniband/sw/rxe/rxe_hdr.h > @@ -234,7 +234,7 @@ static inline void __bth_set_resv6a(void *arg) > { > struct rxe_bth *bth = arg; > > - bth->qpn = cpu_to_be32(~BTH_RESV6A_MASK); > + bth->qpn &= cpu_to_be32(~BTH_RESV6A_MASK); > } > > static inline int __bth_ack(void *arg)
diff --git a/drivers/infiniband/sw/rxe/rxe_hdr.h b/drivers/infiniband/sw/rxe/rxe_hdr.h index 46f82b27fcd2..1f0322491d8c 100644 --- a/drivers/infiniband/sw/rxe/rxe_hdr.h +++ b/drivers/infiniband/sw/rxe/rxe_hdr.h @@ -234,7 +234,7 @@ static inline void __bth_set_resv6a(void *arg) { struct rxe_bth *bth = arg; - bth->qpn = cpu_to_be32(~BTH_RESV6A_MASK); + bth->qpn &= cpu_to_be32(~BTH_RESV6A_MASK); } static inline int __bth_ack(void *arg)
__bth_set_resv6a is used to clear BIT [24, 29] of rxe_bth::qpn, the wrong expression leads other BITs into 1. Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> --- drivers/infiniband/sw/rxe/rxe_hdr.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)