Add missing cleanup for queued receive MADs when closing.
Without cleanup, MADs may be leaked.

Signed-off-by: Sean Hefty <[EMAIL PROTECTED]>

---

 drivers/infiniband/core/user_mad.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

7aa157db5861f957e5348dcf6a8fbd6c53255ebd
diff --git a/drivers/infiniband/core/user_mad.c 
b/drivers/infiniband/core/user_mad.c
index 334b52d..afe70a5 100644
--- a/drivers/infiniband/core/user_mad.c
+++ b/drivers/infiniband/core/user_mad.c
@@ -683,8 +683,11 @@ static int ib_umad_close(struct inode *i
        already_dead = file->agents_dead;
        file->agents_dead = 1;
 
-       list_for_each_entry_safe(packet, tmp, &file->recv_list, list)
+       list_for_each_entry_safe(packet, tmp, &file->recv_list, list) {
+               if (packet->recv_wc)
+                       ib_free_recv_mad(packet->recv_wc);
                kfree(packet);
+       }
 
        list_del(&file->port_list);
 
-- 
1.0.6

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to