aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorSteve Wise <swise@opengridcomputing.com>2009-09-05 23:22:36 -0400
committerRoland Dreier <rolandd@cisco.com>2009-09-05 23:22:36 -0400
commit3793d2fc3eac7da11ca44df125cbcedd0b5315d0 (patch)
tree9f2bda0bf0700afc63498eca329f2e7378e1a196 /drivers/infiniband
parente07cccf4046978df10f2e13fe2b99b2f9b3a65db (diff)
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')
-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)
1418bail2: 1418bail2:
1419 ib_unregister_device(&dev->ibdev); 1419 ib_unregister_device(&dev->ibdev);
1420bail1: 1420bail1:
1421 kfree(dev->ibdev.iwcm);
1421 return ret; 1422 return ret;
1422} 1423}
1423 1424
@@ -1430,5 +1431,6 @@ void iwch_unregister_device(struct iwch_dev *dev)
1430 device_remove_file(&dev->ibdev.dev, 1431 device_remove_file(&dev->ibdev.dev,
1431 iwch_class_attributes[i]); 1432 iwch_class_attributes[i]);
1432 ib_unregister_device(&dev->ibdev); 1433 ib_unregister_device(&dev->ibdev);
1434 kfree(dev->ibdev.iwcm);
1433 return; 1435 return;
1434} 1436}