aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/uverbs_main.c
diff options
context:
space:
mode:
authorRoland Dreier <rolandd@cisco.com>2005-10-24 13:53:25 -0400
committerRoland Dreier <rolandd@cisco.com>2005-10-24 13:53:25 -0400
commit5d7edb3c1a01310725d86f0d83fb3be45685dc82 (patch)
treebbe21779313fea41eb644e0e0f06d5949cd4ed49 /drivers/infiniband/core/uverbs_main.c
parente7d311da9cba1e113f82176130d3af1be77dc3ee (diff)
[IB] Add idr_destroy() calls on module unload
Add idr_destroy() calls to the module_exit() functions of the four IB driver modules that use idrs, so we don't leak idr_layer_cache objects when these modules are unloaded. Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/core/uverbs_main.c')
-rw-r--r--drivers/infiniband/core/uverbs_main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
index 12511808de2..add45f7faa5 100644
--- a/drivers/infiniband/core/uverbs_main.c
+++ b/drivers/infiniband/core/uverbs_main.c
@@ -762,6 +762,13 @@ static void __exit ib_uverbs_cleanup(void)
762 unregister_filesystem(&uverbs_event_fs); 762 unregister_filesystem(&uverbs_event_fs);
763 class_unregister(&uverbs_class); 763 class_unregister(&uverbs_class);
764 unregister_chrdev_region(IB_UVERBS_BASE_DEV, IB_UVERBS_MAX_DEVICES); 764 unregister_chrdev_region(IB_UVERBS_BASE_DEV, IB_UVERBS_MAX_DEVICES);
765 idr_destroy(&ib_uverbs_pd_idr);
766 idr_destroy(&ib_uverbs_mr_idr);
767 idr_destroy(&ib_uverbs_mw_idr);
768 idr_destroy(&ib_uverbs_ah_idr);
769 idr_destroy(&ib_uverbs_cq_idr);
770 idr_destroy(&ib_uverbs_qp_idr);
771 idr_destroy(&ib_uverbs_srq_idr);
765} 772}
766 773
767module_init(ib_uverbs_init); 774module_init(ib_uverbs_init);