Hi, This series introduces erdma's implementation of drain_sq and drain_rq. Our hardware will stop processing any new WRs if QP state is error. So the default __ib_drain_sq and __ib_drain_rq in core code can not work for erdma. For this reason, we implement the drain_sq and drain_rq interfaces. In SQ draining or RQ draining, we post both drain send wr and drain recv wr, and then modify_qp to error. At last, we wait the corresponding completion in the separated interface. The first patch introduces internal post_send/post_recv for qp drain, and the second patch implements the drain_sq and drain_rq of erdma. Thanks, Cheng Xu Cheng Xu (2): RDMA/erdma: Introduce internal post_send/post_recv for qp drain RDMA/erdma: Add drain_sq and drain_rq support drivers/infiniband/hw/erdma/erdma_main.c | 4 +- drivers/infiniband/hw/erdma/erdma_qp.c | 116 +++++++++++++++++++++- drivers/infiniband/hw/erdma/erdma_verbs.h | 27 ++++- 3 files changed, 136 insertions(+), 11 deletions(-) -- 2.27.0