Hi Jason/Leon/Sagi, This series adds a support for draining a QP that is associated with a SRQ (Shared Receive Queue). Leakage problem can occur if we won't treat Last WQE Reached event. In the series, that is based on some old series I've send during 2018, I used a different approach and handled the event in the RDMA core, as was suggested in discussion in the mailing list. In addition to the main patch 1/2 I've added another 2/2 to remove dead code. I've tested this series with NVMf/RDMA on RoCE. Changes from v1: 1. don't withhold the LAST_WQE_REACHED from the ULPs (Sagi) 2. Remove ULP update as a result from #1 3. Increase the wait_for_completion_timeout to 60 seconds Max Gurtovoy (2): IB/core: add support for draining Shared receive queues IB/isert: remove the handling of last WQE reached event drivers/infiniband/core/verbs.c | 82 ++++++++++++++++++++++++- drivers/infiniband/ulp/isert/ib_isert.c | 3 - include/rdma/ib_verbs.h | 2 + 3 files changed, 83 insertions(+), 4 deletions(-) -- 2.18.1