[rds-devel] [PATCH 1/2] RDS/iWARP: correctly deallocate mrs and page_lists.

Steve Wise swise at opengridcomputing.com
Thu Jan 8 13:26:08 PST 2009


From: Steve Wise <swise at opengridcomputing.com>

Signed-off-by: Steve Wise <swise at opengridcomputing.com>
---

 drivers/infiniband/ulp/rds/iw_send.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/infiniband/ulp/rds/iw_send.c b/drivers/infiniband/ulp/rds/iw_send.c
index 13d01df..e74de30 100644
--- a/drivers/infiniband/ulp/rds/iw_send.c
+++ b/drivers/infiniband/ulp/rds/iw_send.c
@@ -178,17 +178,16 @@ void rds_ib_send_clear_ring(struct rds_ib_connection *ic)
 	u32 i;
 
 	for(i = 0, send = ic->i_sends; i < ic->i_send_ring.w_nr; i++, send++) {
+		BUG_ON(!send->s_mr);
+		ib_dereg_mr(send->s_mr);
+		BUG_ON(!send->s_page_list);
+		ib_free_fast_reg_page_list(send->s_page_list);
 		if (send->s_wr.opcode == 0xdead)
 			continue;
 		if (send->s_rm)
 			rds_ib_send_unmap_rm(ic, send, IB_WC_WR_FLUSH_ERR);
 		if (send->s_op)
 			rds_ib_send_unmap_rdma(ic, send->s_op);
-		if (send->s_mr)
-			ib_dereg_mr(send->s_mr);
-		if (send->s_page_list)
-			ib_free_fast_reg_page_list(send->s_page_list);
-
 	}
 }
 



More information about the rds-devel mailing list