This patch replaces init_timer and the 2 step initialization of function
and data by setup_timer to make the code more concise.
The issue was discovered using the following coccinelle script:
@@
expression ds, e1, e2;
@@
-init_timer (&ds);
+setup_timer (&ds, e1, e2);
...
(
-ds.function = e1;
...
-ds.data = e2;
|
-ds.data = e2;
...
-ds.function = e1;
)
Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        ieee->enable_rx_imm_BA = 1;
        ieee->tx_pending.txb = NULL;
 
-       init_timer(&ieee->associate_timer);
-       ieee->associate_timer.data = (unsigned long)ieee;
-       ieee->associate_timer.function = ieee80211_associate_abort_cb;
+       setup_timer(&ieee->associate_timer, ieee80211_associate_abort_cb,
+                   (unsigned long)ieee);
 
-       init_timer(&ieee->beacon_timer);
-       ieee->beacon_timer.data = (unsigned long) ieee;
-       ieee->beacon_timer.function = ieee80211_send_beacon_cb;
+       setup_timer(&ieee->beacon_timer, ieee80211_send_beacon_cb,
+                   (unsigned long)ieee);
 
        ieee->wq = create_workqueue(DRV_NAME);