Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c295e44 authored by Julia Lawall's avatar Julia Lawall Committed by David S. Miller
Browse files

isdn: replace del_timer by del_timer_sync

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: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a0b8486c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -796,7 +796,7 @@ static void __exit act2000_exit(void)
	act2000_card *last;
	while (card) {
		unregister_card(card);
		del_timer(&card->ptimer);
		del_timer_sync(&card->ptimer);
		card = card->next;
	}
	card = cards;
+1 −1
Original line number Diff line number Diff line
@@ -2381,7 +2381,7 @@ static void __exit isdn_exit(void)
	}
	isdn_tty_exit();
	unregister_chrdev(ISDN_MAJOR, "isdn");
	del_timer(&dev->timer);
	del_timer_sync(&dev->timer);
	/* call vfree with interrupts enabled, else it will hang */
	vfree(dev);
	printk(KERN_NOTICE "ISDN-subsystem unloaded\n");
+2 −2
Original line number Diff line number Diff line
@@ -390,8 +390,8 @@ static void __exit sc_exit(void)
		/*
		 * kill the timers
		 */
		del_timer(&(sc_adapter[i]->reset_timer));
		del_timer(&(sc_adapter[i]->stat_timer));
		del_timer_sync(&(sc_adapter[i]->reset_timer));
		del_timer_sync(&(sc_adapter[i]->stat_timer));

		/*
		 * Tell I4L we're toast