IB/rxe: Don't update the response PSN unless it's going forwards
authorAndrew Boyer <andrew.boyer@dell.com>
Wed, 23 Nov 2016 17:39:19 +0000 (12:39 -0500)
committerDoug Ledford <dledford@redhat.com>
Mon, 12 Dec 2016 21:31:45 +0000 (16:31 -0500)
commit2a7a85487e5432424eef7a394ed26ef1d8f0d192
tree6ed310851c7451d46d451773e1c419614dc8f2ad
parentdd753d87436ce7ef2a958d684b38d5acc99c9f5c
IB/rxe: Don't update the response PSN unless it's going forwards

A client might post a read followed by a send. The partner receives
and acknowledges both transactions, posting an RCQ entry for the
send, but something goes wrong with the read ACK. When the client
retries the read, the partner's responder processes the duplicate
read but incorrectly resets the PSN to the value preceding the
original send. When the duplicate send arrives, the responder cannot
tell that it is a duplicate, so the responder generates a duplicate
RCQ entry, confusing the client.

Signed-off-by: Andrew Boyer <andrew.boyer@dell.com>
Reviewed-by: Yonatan Cohen <yonatanc@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/sw/rxe/rxe_resp.c