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