diff options
author | Roland Dreier <rolandd@cisco.com> | 2005-10-24 13:53:25 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2005-10-24 13:53:25 -0400 |
commit | 5d7edb3c1a01310725d86f0d83fb3be45685dc82 (patch) | |
tree | bbe21779313fea41eb644e0e0f06d5949cd4ed49 /drivers/infiniband/core/uverbs_main.c | |
parent | e7d311da9cba1e113f82176130d3af1be77dc3ee (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.c | 7 |
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 | ||
767 | module_init(ib_uverbs_init); | 774 | module_init(ib_uverbs_init); |