yam: replace del_timer by del_timer_sync
authorJulia Lawall <Julia.Lawall@lip6.fr>
Wed, 26 Mar 2014 21:33:45 +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>
drivers/net/hamradio/yam.c

index 61dd2447e1bb4eedb5d8e6b72abcf21e9f273afb..81901659cc9ea1126e22f02e427dab1b9a729039 100644 (file)
@@ -1184,7 +1184,7 @@ static void __exit yam_cleanup_driver(void)
        struct yam_mcs *p;
        int i;
 
-       del_timer(&yam_timer);
+       del_timer_sync(&yam_timer);
        for (i = 0; i < NR_PORTS; i++) {
                struct net_device *dev = yam_devs[i];
                if (dev) {