Restructure the design of the atomic retries in rxe_resp.c modeled on the design of RDMA read reply. This fixes failures which occur when an atomic ack packet is lost as observed in the pyverbs test suite with a patch to randomly drop packets. Link: https://lore.kernel.org/linux-rdma/84aaf934-9cac-30ae-0fa5-1e40819a519e@xxxxxxxxx/ Signed-off-by: Bob Pearson <rpearsonhpe@xxxxxxxxx> --- Bob Pearson (5): RDMA/rxe: Move code to rxe_prepare_atomic_res() RDMA/rxe: Add a responder state for atomic reply RDMA/rxe: Move atomic responder res to atomic_reply RDMA/rxe: Move atomic original value to res RDMA/rxe: Merge normal and retry atomic flows drivers/infiniband/sw/rxe/rxe_qp.c | 2 - drivers/infiniband/sw/rxe/rxe_resp.c | 132 ++++++++++++++++---------- drivers/infiniband/sw/rxe/rxe_verbs.h | 3 +- 3 files changed, 81 insertions(+), 56 deletions(-) base-commit: f2906aa863381afb0015a9eb7fefad885d4e5a56 -- 2.34.1