aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@mellanox.co.il>2006-01-17 12:41:47 -0500
committerRoland Dreier <rolandd@cisco.com>2006-01-17 12:41:47 -0500
commitcc76e33ec98ee2acab2d10828d31588d1b10f274 (patch)
treed27b370cfd39b940b28c8b3401d750d82107ac4b /drivers/infiniband
parent47f7a0714b67b904a3a36e2f2d85904e8064219b (diff)
IB/uverbs: Flush scheduled work before unloading module
uverbs might schedule work to clean up when a file is closed. Make sure that this work runs before allowing module text to go away. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/core/uverbs_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
index 96ea79b63df7..903f85a4bc0c 100644
--- a/drivers/infiniband/core/uverbs_main.c
+++ b/drivers/infiniband/core/uverbs_main.c
@@ -902,6 +902,7 @@ static void __exit ib_uverbs_cleanup(void)
902 unregister_filesystem(&uverbs_event_fs); 902 unregister_filesystem(&uverbs_event_fs);
903 class_destroy(uverbs_class); 903 class_destroy(uverbs_class);
904 unregister_chrdev_region(IB_UVERBS_BASE_DEV, IB_UVERBS_MAX_DEVICES); 904 unregister_chrdev_region(IB_UVERBS_BASE_DEV, IB_UVERBS_MAX_DEVICES);
905 flush_scheduled_work();
905 idr_destroy(&ib_uverbs_pd_idr); 906 idr_destroy(&ib_uverbs_pd_idr);
906 idr_destroy(&ib_uverbs_mr_idr); 907 idr_destroy(&ib_uverbs_mr_idr);
907 idr_destroy(&ib_uverbs_mw_idr); 908 idr_destroy(&ib_uverbs_mw_idr);