Commit 9ba650a4 authored by Kees Cook's avatar Kees Cook Committed by David S. Miller

appletalk: Remove unneeded synchronization

The use of del_timer_sync() will make sure a timer is not rescheduled.
As such, there is no need to add external signals to kill timers. In
preparation for switching the timer callback argument to the timer
pointer, this drops the .data argument since it doesn't serve a meaningful
purpose here.

Cc: David Howells <dhowells@redhat.com>
Cc: netdev@vger.kernel.org
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d26c089e
...@@ -880,14 +880,10 @@ static void ltpc_poll(unsigned long l) ...@@ -880,14 +880,10 @@ static void ltpc_poll(unsigned long l)
} }
ltpc_poll_counter--; ltpc_poll_counter--;
} }
if (!dev)
return; /* we've been downed */
/* poll 20 times per second */ /* poll 20 times per second */
idle(dev); idle(dev);
ltpc_timer.expires = jiffies + HZ/20; ltpc_timer.expires = jiffies + HZ/20;
add_timer(&ltpc_timer); add_timer(&ltpc_timer);
} }
...@@ -1252,8 +1248,6 @@ static void __exit ltpc_cleanup(void) ...@@ -1252,8 +1248,6 @@ static void __exit ltpc_cleanup(void)
if(debug & DEBUG_VERBOSE) printk("unregister_netdev\n"); if(debug & DEBUG_VERBOSE) printk("unregister_netdev\n");
unregister_netdev(dev_ltpc); unregister_netdev(dev_ltpc);
ltpc_timer.data = 0; /* signal the poll routine that we're done */
del_timer_sync(&ltpc_timer); del_timer_sync(&ltpc_timer);
if(debug & DEBUG_VERBOSE) printk("freeing irq\n"); if(debug & DEBUG_VERBOSE) printk("freeing irq\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment