RDMA/siw: Fix broken RDMA Read Fence/Resume logic.
authorBernard Metzler <bmt@zurich.ibm.com>
Sun, 30 Jan 2022 17:08:15 +0000 (18:08 +0100)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 1 Feb 2022 13:54:28 +0000 (09:54 -0400)
commitb43a76f423aa304037603fd6165c4a534d2c09a7
tree8d6325c883102540ef2a6a03bf224ff76eb41d05
parent4028bccb003cf67e46632dee7f97ddc5d7b6e685
RDMA/siw: Fix broken RDMA Read Fence/Resume logic.

Code unconditionally resumed fenced SQ processing after next RDMA Read
completion, even if other RDMA Read responses are still outstanding, or
ORQ is full. Also adds comments for better readability of fence
processing, and removes orq_get_tail() helper, which is not needed
anymore.

Fixes: 8b6a361b8c48 ("rdma/siw: receive path")
Fixes: a531975279f3 ("rdma/siw: main include file")
Link: https://lore.kernel.org/r/20220130170815.1940-1-bmt@zurich.ibm.com
Reported-by: Jared Holzman <jared.holzman@excelero.com>
Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/sw/siw/siw.h
drivers/infiniband/sw/siw/siw_qp_rx.c