Explorar o código

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>
Michael S. Tsirkin %!s(int64=19) %!d(string=hai) anos
pai
achega
cc76e33ec9
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      drivers/infiniband/core/uverbs_main.c

+ 1 - 0
drivers/infiniband/core/uverbs_main.c

@@ -902,6 +902,7 @@ static void __exit ib_uverbs_cleanup(void)
 	unregister_filesystem(&uverbs_event_fs);
 	unregister_filesystem(&uverbs_event_fs);
 	class_destroy(uverbs_class);
 	class_destroy(uverbs_class);
 	unregister_chrdev_region(IB_UVERBS_BASE_DEV, IB_UVERBS_MAX_DEVICES);
 	unregister_chrdev_region(IB_UVERBS_BASE_DEV, IB_UVERBS_MAX_DEVICES);
+	flush_scheduled_work();
 	idr_destroy(&ib_uverbs_pd_idr);
 	idr_destroy(&ib_uverbs_pd_idr);
 	idr_destroy(&ib_uverbs_mr_idr);
 	idr_destroy(&ib_uverbs_mr_idr);
 	idr_destroy(&ib_uverbs_mw_idr);
 	idr_destroy(&ib_uverbs_mw_idr);