summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/rds/ib_cm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/rds/ib_cm.c b/net/rds/ib_cm.c
index b5b5ebbc0bb..1a91af75f4c 100644
--- a/net/rds/ib_cm.c
+++ b/net/rds/ib_cm.c
@@ -620,8 +620,11 @@ void rds_ib_conn_shutdown(struct rds_connection *conn)
ic->i_cm_id, err);
}
+ /*
+ * Don't wait for the send ring to be empty -- there may be completed
+ * non-signaled entries sitting on there. We unmap these below.
+ */
wait_event(rds_ib_ring_empty_wait,
- rds_ib_ring_empty(&ic->i_send_ring) &&
rds_ib_ring_empty(&ic->i_recv_ring));
if (ic->i_send_hdrs)