summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/cxgb3
diff options
context:
space:
mode:
authorSteve Wise <swise@opengridcomputing.com>2009-09-06 07:22:36 +0400
committerRoland Dreier <rolandd@cisco.com>2009-09-06 07:22:36 +0400
commit3793d2fc3eac7da11ca44df125cbcedd0b5315d0 (patch)
tree9f2bda0bf0700afc63498eca329f2e7378e1a196 /drivers/infiniband/hw/cxgb3
parente07cccf4046978df10f2e13fe2b99b2f9b3a65db (diff)
downloadlinux-3793d2fc3eac7da11ca44df125cbcedd0b5315d0.tar.xz
RDMA/cxgb3: iwch_unregister_device leaks memory
The iwcm struct mem is never freed. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/cxgb3')
-rw-r--r--drivers/infiniband/hw/cxgb3/iwch_provider.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/cxgb3/iwch_provider.c b/drivers/infiniband/hw/cxgb3/iwch_provider.c
index e2a63214008a..72aa57cdf697 100644
--- a/drivers/infiniband/hw/cxgb3/iwch_provider.c
+++ b/drivers/infiniband/hw/cxgb3/iwch_provider.c
@@ -1418,6 +1418,7 @@ int iwch_register_device(struct iwch_dev *dev)
bail2:
ib_unregister_device(&dev->ibdev);
bail1:
+ kfree(dev->ibdev.iwcm);
return ret;
}
@@ -1430,5 +1431,6 @@ void iwch_unregister_device(struct iwch_dev *dev)
device_remove_file(&dev->ibdev.dev,
iwch_class_attributes[i]);
ib_unregister_device(&dev->ibdev);
+ kfree(dev->ibdev.iwcm);
return;
}