tty: serial: replace del_timer by del_timer_sync
authorJulia Lawall <Julia.Lawall@lip6.fr>
Wed, 26 Mar 2014 21:33:42 +0000 (22:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Apr 2014 23:13:01 +0000 (16:13 -0700)
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/mux.c

index 9b27d34ad49e9e8bad6589de0744021b9624fa7b..be127d0da32ce3c10e01978726071d240452833e 100644 (file)
@@ -613,7 +613,7 @@ static void __exit mux_exit(void)
 {
        /* Delete the Mux timer. */
        if(port_cnt > 0) {
-               del_timer(&mux_timer);
+               del_timer_sync(&mux_timer);
 #ifdef CONFIG_SERIAL_MUX_CONSOLE
                unregister_console(&mux_console);
 #endif