diff options
author | Amitoj Kaur Chawla <amitoj1606@gmail.com> | 2016-02-20 15:36:26 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-03-11 22:09:09 -0800 |
commit | 354605f4e6190ac2c80be5e1a1c7c80a2f7f30a1 (patch) | |
tree | dc4c609967b91252f0fbd50a6e667f6d747bc1e6 /drivers/staging/rtl8192e/rtl8192e | |
parent | staging: wilc1000: Possible unnecessary 'out of memory' message (diff) | |
download | linux-dev-354605f4e6190ac2c80be5e1a1c7c80a2f7f30a1.tar.xz linux-dev-354605f4e6190ac2c80be5e1a1c7c80a2f7f30a1.zip |
staging: rtl8192e: Remove create_workqueue()
With conccurency managed workqueues, use of dedicated workqueues can
be replaced by system_wq. Drop wq by using system_wq.
Since there are multiple work items per rtllib but they do not need to
be ordered, increase of concurrency by switching to system_wq should
not break anything.
All work items are sync canceled on rtllib_stop_protocol() so it is
guaranteed that no work is running when rtl92e_disable/reset/restart
functions are called.
Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rtl8192e/rtl8192e')
-rw-r--r-- | drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 6 | ||||
-rw-r--r-- | drivers/staging/rtl8192e/rtl8192e/rtl_ps.c | 14 |
2 files changed, 8 insertions, 12 deletions
diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 0b06482c325c..18d0fe3802a9 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -249,7 +249,7 @@ bool rtl92e_set_rf_state(struct net_device *dev, if (StateToSet == eRfOn) { if (bConnectBySSID && priv->blinked_ingpio) { - queue_delayed_work_rsl(ieee->wq, + schedule_delayed_work( &ieee->associate_procedure_wq, 0); priv->blinked_ingpio = false; } @@ -1327,7 +1327,7 @@ RESET_START: ieee->set_chan(ieee->dev, ieee->current_network.channel); - queue_work_rsl(ieee->wq, &ieee->associate_complete_wq); + schedule_work(&ieee->associate_complete_wq); } else if (ieee->state == RTLLIB_LINKED && ieee->iw_mode == IW_MODE_ADHOC) { @@ -1499,7 +1499,7 @@ static void _rtl92e_watchdog_wq_cb(void *data) if (!(ieee->rtllib_ap_sec_type(ieee) & (SEC_ALG_CCMP|SEC_ALG_TKIP))) - queue_delayed_work_rsl(ieee->wq, + schedule_delayed_work( &ieee->associate_procedure_wq, 0); priv->check_roaming_cnt = 0; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c index 9a4d1bcb881d..98e4d88d0e73 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c @@ -63,9 +63,8 @@ void rtl92e_hw_wakeup(struct net_device *dev) spin_unlock_irqrestore(&priv->rf_ps_lock, flags); RT_TRACE(COMP_DBG, "rtl92e_hw_wakeup(): RF Change in progress!\n"); - queue_delayed_work_rsl(priv->rtllib->wq, - &priv->rtllib->hw_wakeup_wq, - msecs_to_jiffies(10)); + schedule_delayed_work(&priv->rtllib->hw_wakeup_wq, + msecs_to_jiffies(10)); return; } spin_unlock_irqrestore(&priv->rf_ps_lock, flags); @@ -111,10 +110,8 @@ void rtl92e_enter_sleep(struct net_device *dev, u64 time) return; } tmp = time - jiffies; - queue_delayed_work_rsl(priv->rtllib->wq, - &priv->rtllib->hw_wakeup_wq, tmp); - queue_delayed_work_rsl(priv->rtllib->wq, - (void *)&priv->rtllib->hw_sleep_wq, 0); + schedule_delayed_work(&priv->rtllib->hw_wakeup_wq, tmp); + schedule_delayed_work(&priv->rtllib->hw_sleep_wq, 0); spin_unlock_irqrestore(&priv->ps_lock, flags); } @@ -203,8 +200,7 @@ void rtl92e_rtllib_ips_leave_wq(struct net_device *dev) } netdev_info(dev, "=========>%s(): rtl92e_ips_leave\n", __func__); - queue_work_rsl(priv->rtllib->wq, - &priv->rtllib->ips_leave_wq); + schedule_work(&priv->rtllib->ips_leave_wq); } } } |