staging: panel: replace del_timer by del_timer_sync
authorJulia Lawall <Julia.Lawall@lip6.fr>
Wed, 26 Mar 2014 21:33:41 +0000 (22:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Apr 2014 23:16:58 +0000 (16:16 -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/staging/panel/panel.c

index 08f9a4896116a3c4368a616d134a2d5a065f9371..a53f94e7e9c3d24864c7fc327e153c6613918965 100644 (file)
@@ -2298,7 +2298,7 @@ static void __exit panel_cleanup_module(void)
        unregister_reboot_notifier(&panel_notifier);
 
        if (scan_timer.function != NULL)
-               del_timer(&scan_timer);
+               del_timer_sync(&scan_timer);
 
        if (pprt != NULL) {
                if (keypad_enabled) {