staging: rtl8192u: Convert timers to use timer_setup()
PATCH 1/1 staging: rtl8192u: 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.
Cc Greg Kroah-Hartman <[email protected]>
Cc Derek Robson <[email protected]>
Cc simran singhal <[email protected]>
Cc Riccardo Marotti <[email protected]>
Cc Fabrizio Perria <[email protected]>
Cc Arnd Bergmann <[email protected]>
Cc Baoyou Xie <[email protected]>
Cc Tuomo Rinne <[email protected]>
Cc Colin Ian King <[email protected]>
Cc Greg Kroah-Hartman <[email protected]>
Cc simran singhal <[email protected]>
Cc Derek Robson <[email protected]>
Cc Riccardo Marotti <[email protected]>
Cc Arnd Bergmann <[email protected]>
Cc Fabrizio Perria <[email protected]>
Cc Baoyou Xie <[email protected]>
Cc Tuomo Rinne <[email protected]>
Cc Colin Ian King <[email protected]>
Cc Thomas Gleixner <[email protected]>
Signed-off-by Kees Cook <[email protected]>
---
This requires commit 686fef928bba ("timer: Prepare to change timer callback argument type") in v4.14-rc3, but should be otherwise stand-alone.
--- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 6 +-- .../staging/rtl8192u/ieee80211/ieee80211_crypt.c | 4 +- .../staging/rtl8192u/ieee80211/ieee80211_crypt.h | 2 +- .../staging/rtl8192u/ieee80211/ieee80211_module.c | 4 +- .../staging/rtl8192u/ieee80211/rtl819x_BAProc.c | 12 +++--- .../staging/rtl8192u/ieee80211/rtl819x_TSProc.c | 46 +++++++++++----------- drivers/staging/rtl8192u/r8192U_core.c | 11 +++--- drivers/staging/rtl8192u/r8192U_dm.c | 9 ++--- drivers/staging/rtl8192u/r8192U_dm.h | 2 +- 9 files changed, 46 insertions(+), 50 deletions(-)
drivers/staging/rtl8192u/ieee80211/ieee80211.h +3 -3
@@ -2395,9 +2395,9 @@ void TsInitAddBA(struct ieee80211_device *ieee, PTX_TS_RECORD pTS, u8 Policy, u8 bOverwritePending);void TsInitDelBA (struct ieee80211_device *ieee,PTS_COMMON_INFO pTsCommonInfo,TR_SELECT TxRxSelect); -void BaSetupTimeOut (unsigned long data); -void TxBaInactTimeout (unsigned long data); -void RxBaInactTimeout (unsigned long data); +void BaSetupTimeOut (struct timer_list *t); +void TxBaInactTimeout (struct timer_list *t); +void RxBaInactTimeout (struct timer_list *t);void ResetBaEntry (PBA_RECORD pBA);//function in TS.c bool GetTs(
drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c +2 -2
@@ -57,9 +57,9 @@ void ieee80211_crypt_deinit_entries(struct ieee80211_device *ieee, } } -void ieee80211_crypt_deinit_handler (unsigned long data) +void ieee80211_crypt_deinit_handler (struct timer_list *t) { -struct ieee80211_device *ieee = (struct ieee80211_device *)data; +struct ieee80211_device *ieee =from_timer (ieee, t, crypt_deinit_timer);unsigned long flags;spin_lock_irqsave (&ieee->lock, flags);
drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.h +1 -1
@@ -83,7 +83,7 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops);int ieee80211_unregister_crypto_ops (struct ieee80211_crypto_ops *ops);struct ieee80211_crypto_ops *ieee80211_get_crypto_ops (const char *name);void ieee80211_crypt_deinit_entries (struct ieee80211_device *ieee,int force); -void ieee80211_crypt_deinit_handler (unsigned long data); +void ieee80211_crypt_deinit_handler (struct timer_list *t);void ieee80211_crypt_delayed_deinit (struct ieee80211_device *ieee,struct ieee80211_crypt_data **crypt);
drivers/staging/rtl8192u/ieee80211/ieee80211_module.c +2 -2
@@ -133,8 +133,8 @@ struct net_device *alloc_ieee80211(int sizeof_priv) ieee->ieee802_1x =1 ;/* Default to supporting 802.1x */ INIT_LIST_HEAD (&ieee->crypt_deinit_list); -setup_timer (&ieee->crypt_deinit_timer, - ieee80211_crypt_deinit_handler, (unsigned long )ieee); +timer_setup (&ieee->crypt_deinit_timer, ieee80211_crypt_deinit_handler, +0 );spin_lock_init (&ieee->lock);spin_lock_init (&ieee->wpax_suitlist_lock);
drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c +6 -6
@@ -672,18 +672,18 @@ TsInitDelBA( struct ieee80211_device *ieee, PTS_COMMON_INFO pTsCommonInfo, TR_SE* return: NULL * notice: ********************************************************************************************************************/ -void BaSetupTimeOut (unsigned long data) +void BaSetupTimeOut (struct timer_list *t) { -PTX_TS_RECORD pTxTs = (PTX_TS_RECORD )data; +PTX_TS_RECORD pTxTs =from_timer (pTxTs, t, TxPendingBARecord.Timer); pTxTs->bAddBaReqInProgress = false; pTxTs->bAddBaReqDelayed = true; pTxTs->TxPendingBARecord.bValid = false; } -void TxBaInactTimeout (unsigned long data) +void TxBaInactTimeout (struct timer_list *t) { -PTX_TS_RECORD pTxTs = (PTX_TS_RECORD )data; +PTX_TS_RECORD pTxTs =from_timer (pTxTs, t, TxAdmittedBARecord.Timer); struct ieee80211_device *ieee = container_of(pTxTs, struct ieee80211_device, TxTsRecord[pTxTs->num]);TxTsDeleteBA (ieee, pTxTs); ieee80211_send_DELBA(
@@ -694,9 +694,9 @@ void TxBaInactTimeout(unsigned long data) DELBA_REASON_TIMEOUT); } -void RxBaInactTimeout (unsigned long data) +void RxBaInactTimeout (struct timer_list *t) { -PRX_TS_RECORD pRxTs = (PRX_TS_RECORD )data; +PRX_TS_RECORD pRxTs =from_timer (pRxTs, t, RxAdmittedBARecord.Timer); struct ieee80211_device *ieee = container_of(pRxTs, struct ieee80211_device, RxTsRecord[pRxTs->num]);RxTsDeleteBA (ieee, pRxTs);
drivers/staging/rtl8192u/ieee80211/rtl819x_TSProc.c +22 -24
83 lines not on this page · raw message
drivers/staging/rtl8192u/r8192U_core.c +5 -6
@@ -497,7 +497,7 @@ inline void force_pci_posting(struct net_device *dev)static struct net_device_stats *rtl8192_stats (struct net_device *dev);static void rtl8192_restart (struct work_struct *work); -static void watch_dog_timer_callback (unsigned long data); +static void watch_dog_timer_callback (struct timer_list *t);/**************************************************************************** * -----------------------------PROCFS STUFF-------------------------
@@ -2697,8 +2697,7 @@ static short rtl8192_init(struct net_device *dev) }rtl8192_get_channel_map (dev);init_hal_dm (dev); -setup_timer (&priv->watch_dog_timer, watch_dog_timer_callback, - (unsigned long )dev); +timer_setup (&priv->watch_dog_timer, watch_dog_timer_callback,0 );if (rtl8192_usb_initendpoints (dev) !=0 ) {DMESG ("Endopoints initialization failed" );return -ENOMEM ;
@@ -3499,9 +3498,9 @@ static void rtl819x_watchdog_wqcallback(struct work_struct *work)RT_TRACE (COMP_TRACE ," <==RtUsbCheckForHangWorkItemCallback()\n" ); } -static void watch_dog_timer_callback (unsigned long data) +static void watch_dog_timer_callback (struct timer_list *t) { -struct r8192_priv *priv =ieee80211_priv ((struct net_device *)data); +struct r8192_priv *priv =from_timer (priv, t, watch_dog_timer);schedule_delayed_work (&priv->watch_dog_wq,0 ); mod_timer(&priv->watch_dog_timer,
@@ -3528,7 +3527,7 @@ static int _rtl8192_up(struct net_device *dev)if (priv->ieee80211->state !=IEEE80211_LINKED )ieee80211_softmac_start_protocol (priv->ieee80211);ieee80211_reset_queue (priv->ieee80211); -watch_dog_timer_callback ((unsigned long )dev); +watch_dog_timer_callback (&priv->watch_dog_timer);if (!netif_queue_stopped (dev))netif_start_queue (dev);else
drivers/staging/rtl8192u/r8192U_dm.c +4 -5
@@ -2729,8 +2729,7 @@ static void dm_init_fsync(struct net_device *dev) priv->ieee80211->fsync_seconddiff_ratethreshold =200 ; priv->ieee80211->fsync_state = Default_Fsync; priv->framesyncMonitor =1 ;/* current default 0xc38 monitor on */ -setup_timer (&priv->fsync_timer, dm_fsync_timer_callback, - (unsigned long )dev); +timer_setup (&priv->fsync_timer, dm_fsync_timer_callback,0 ); }static void dm_deInit_fsync (struct net_device *dev)
@@ -2740,10 +2739,10 @@ static void dm_deInit_fsync(struct net_device *dev)del_timer_sync (&priv->fsync_timer); } -void dm_fsync_timer_callback (unsigned long data) +void dm_fsync_timer_callback (struct timer_list *t) { -struct net_device *dev = (struct net_device *)data; -struct r8192_priv *priv =ieee80211_priv ((struct net_device *)data); +struct r8192_priv *priv =from_timer (priv, t, fsync_timer); +struct net_device *dev = priv->ieee80211->dev;u32 rate_index, rate_count =0 , rate_count_diff =0 ;bool bSwitchFromCountDiff = false;bool bDoubleTimeInterval = false;
drivers/staging/rtl8192u/r8192U_dm.h +1 -1
@@ -226,7 +226,7 @@ void dm_force_tx_fw_info(struct net_device *dev,void dm_init_edca_turbo (struct net_device *dev);void dm_rf_operation_test_callback (unsigned long data);void dm_rf_pathcheck_workitemcallback (struct work_struct *work); -void dm_fsync_timer_callback (unsigned long data); +void dm_fsync_timer_callback (struct timer_list *t);void dm_cck_txpower_adjust (struct net_device *dev,bool binch14);void dm_shadow_init (struct net_device *dev);void dm_initialize_txpower_tracking (struct net_device *dev);
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security