hsr: replace del_timer by del_timer_sync
authorJulia Lawall <Julia.Lawall@lip6.fr>
Wed, 26 Mar 2014 21:33:44 +0000 (22:33 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Mar 2014 19:28:06 +0000 (15:28 -0400)
Use del_timer_sync to ensure that the timer is stopped on all CPUs before
the driver exists.

This change was suggested by Thomas Gleixner.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
declarer name module_exit;
identifier ex;
@@

module_exit(ex);

@@
identifier r.ex;
@@

ex(...) {
  <...
- del_timer
+ del_timer_sync
    (...)
  ...>
}
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/hsr/hsr_main.c

index 10010c543edf6df6773d6046f440ca68bc5b4c30..3fee5218a691f20c8b028e7ed2738febc7dfd0b7 100644 (file)
@@ -459,7 +459,7 @@ static int __init hsr_init(void)
 static void __exit hsr_exit(void)
 {
        unregister_netdevice_notifier(&hsr_nb);
-       del_timer(&prune_timer);
+       del_timer_sync(&prune_timer);
        hsr_netlink_exit();
        dev_remove_pack(&hsr_pt);
 }