drivers/net: wan/sbni: Convert timers to use timer_setup()
Subsystems (2)
PATCH 1/1 drivers/net: wan/sbni: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.
--- drivers/net/wan/sbni.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-)
drivers/net/wan/sbni.c +8 -13
@@ -71,6 +71,7 @@struct net_local {struct timer_list watchdog; +struct net_device *watchdog_dev;spinlock_t lock;struct sk_buff *rx_buf_p;/* receive buffer ptr */
@@ -128,7 +129,7 @@ static void send_frame( struct net_device * );static int upload_data (struct net_device *,unsigned ,unsigned ,unsigned ,u32 );static void download_data (struct net_device *,u32 * ); -static void sbni_watchdog (unsigned long ); +static void sbni_watchdog (struct timer_list *);static void interpret_ack (struct net_device *,unsigned );static int append_frame_to_pkt (struct net_device *,unsigned ,u32 );static void indicate_pkt (struct net_device * );
@@ -1029,11 +1030,10 @@ indicate_pkt( struct net_device *dev )*/ static void -sbni_watchdog (unsigned long arg ) +sbni_watchdog (struct timer_list *t) { -struct net_device *dev = (struct net_device *) arg; -struct net_local *nl =netdev_priv (dev); -struct timer_list *w = &nl->watchdog; +struct net_local *nl =from_timer (nl, t, watchdog); +struct net_device *dev = nl->watchdog_dev;unsigned long flags;unsigned char csr0;
@@ -1060,11 +1060,7 @@ sbni_watchdog( unsigned long arg )outb ( csr0 |RC_CHK , dev->base_addr +CSR0 ); -init_timer ( w ); - w->expires = jiffies +SBNI_TIMEOUT ; - w->data = arg; - w->function = sbni_watchdog; -add_timer ( w ); +mod_timer (t, jiffies +SBNI_TIMEOUT );spin_unlock_irqrestore ( &nl->lock, flags ); }
@@ -1195,10 +1191,9 @@ sbni_open( struct net_device *dev )netif_start_queue ( dev );/* set timer watchdog */ -init_timer ( w ); + nl->watchdog_dev = dev; +timer_setup (w, sbni_watchdog,0 ); w->expires = jiffies +SBNI_TIMEOUT ; - w->data = (unsigned long ) dev; - w->function = sbni_watchdog;add_timer ( w );spin_unlock ( &nl->lock );
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
From: Kees Cook <[email protected]>
Date: Tue, 24 Oct 2017 01:47:00 -0700
Quoted 7 lines
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly.
Applied.