RDMA/rxe: Compute PSN windows correctly
authorBob Pearson <rpearsonhpe@gmail.com>
Tue, 13 Oct 2020 17:07:42 +0000 (12:07 -0500)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 28 Oct 2020 13:34:20 +0000 (10:34 -0300)
commitbb3ab2979fd69db23328691cb10067861df89037
tree40ef31dbbc9cd78fa161ff3920f2e21b07596fe0
parent5333499c6014224756e97fa1a1047dfa592d76d3
RDMA/rxe: Compute PSN windows correctly

The code which limited the number of unacknowledged PSNs was incorrect.
The PSNs are limited to 24 bits and wrap back to zero from 0x00ffffff.
The test was computing a 32 bit value which wraps at 32 bits so that
qp->req.psn can appear smaller than the limit when it is actually larger.

Replace '>' test with psn_compare which is used for other PSN comparisons
and correctly handles the 24 bit size.

Fixes: 8700e3e7c485 ("Soft RoCE driver")
Link: https://lore.kernel.org/r/20201013170741.3590-1-rpearson@hpe.com
Signed-off-by: Bob Pearson <rpearson@hpe.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/sw/rxe/rxe_req.c