@@ -2393,6 +2393,10 @@ module_init(decnet_init);
* Prevent DECnet module unloading until its fixed properly.
* Requires an audit of the code to check for memory leaks and
* initialisation problems etc.
+ *
+ * hawk@comx.dk 2009-06-19:
+ * I have added a rcu_barrier() which should plug some of your
+ * module unload issues. Maintainers please try it out...
*/
#if 0
static void __exit decnet_exit(void)
@@ -2413,6 +2417,8 @@ static void __exit decnet_exit(void)
proc_net_remove(&init_net, "decnet");
proto_unregister(&dn_proto);
+
+ rcu_barrier_bh(); /* Wait for completion of call_rcu_bh()'s */
}
module_exit(decnet_exit);
#endif