iwlwifi: remove bg_up work
There's no need to queue a work struct from within a work struct, just move the code to execute directly. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
This commit is contained in:
parent
9f1f3ceacb
commit
80676518da
|
@ -2439,18 +2439,6 @@ static void iwl_bg_run_time_calib_work(struct work_struct *work)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void iwl_bg_up(struct work_struct *data)
|
|
||||||
{
|
|
||||||
struct iwl_priv *priv = container_of(data, struct iwl_priv, up);
|
|
||||||
|
|
||||||
if (test_bit(STATUS_EXIT_PENDING, &priv->status))
|
|
||||||
return;
|
|
||||||
|
|
||||||
mutex_lock(&priv->mutex);
|
|
||||||
__iwl_up(priv);
|
|
||||||
mutex_unlock(&priv->mutex);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void iwl_bg_restart(struct work_struct *data)
|
static void iwl_bg_restart(struct work_struct *data)
|
||||||
{
|
{
|
||||||
struct iwl_priv *priv = container_of(data, struct iwl_priv, restart);
|
struct iwl_priv *priv = container_of(data, struct iwl_priv, restart);
|
||||||
|
@ -2467,7 +2455,13 @@ static void iwl_bg_restart(struct work_struct *data)
|
||||||
ieee80211_restart_hw(priv->hw);
|
ieee80211_restart_hw(priv->hw);
|
||||||
} else {
|
} else {
|
||||||
iwl_down(priv);
|
iwl_down(priv);
|
||||||
queue_work(priv->workqueue, &priv->up);
|
|
||||||
|
if (test_bit(STATUS_EXIT_PENDING, &priv->status))
|
||||||
|
return;
|
||||||
|
|
||||||
|
mutex_lock(&priv->mutex);
|
||||||
|
__iwl_up(priv);
|
||||||
|
mutex_unlock(&priv->mutex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3285,7 +3279,6 @@ static void iwl_setup_deferred_work(struct iwl_priv *priv)
|
||||||
|
|
||||||
init_waitqueue_head(&priv->wait_command_queue);
|
init_waitqueue_head(&priv->wait_command_queue);
|
||||||
|
|
||||||
INIT_WORK(&priv->up, iwl_bg_up);
|
|
||||||
INIT_WORK(&priv->restart, iwl_bg_restart);
|
INIT_WORK(&priv->restart, iwl_bg_restart);
|
||||||
INIT_WORK(&priv->rx_replenish, iwl_bg_rx_replenish);
|
INIT_WORK(&priv->rx_replenish, iwl_bg_rx_replenish);
|
||||||
INIT_WORK(&priv->beacon_update, iwl_bg_beacon_update);
|
INIT_WORK(&priv->beacon_update, iwl_bg_beacon_update);
|
||||||
|
|
|
@ -1264,7 +1264,6 @@ struct iwl_priv {
|
||||||
|
|
||||||
struct workqueue_struct *workqueue;
|
struct workqueue_struct *workqueue;
|
||||||
|
|
||||||
struct work_struct up;
|
|
||||||
struct work_struct restart;
|
struct work_struct restart;
|
||||||
struct work_struct calibrated_work;
|
struct work_struct calibrated_work;
|
||||||
struct work_struct scan_completed;
|
struct work_struct scan_completed;
|
||||||
|
|
|
@ -3033,18 +3033,6 @@ static void iwl3945_bg_request_scan(struct work_struct *data)
|
||||||
mutex_unlock(&priv->mutex);
|
mutex_unlock(&priv->mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void iwl3945_bg_up(struct work_struct *data)
|
|
||||||
{
|
|
||||||
struct iwl_priv *priv = container_of(data, struct iwl_priv, up);
|
|
||||||
|
|
||||||
if (test_bit(STATUS_EXIT_PENDING, &priv->status))
|
|
||||||
return;
|
|
||||||
|
|
||||||
mutex_lock(&priv->mutex);
|
|
||||||
__iwl3945_up(priv);
|
|
||||||
mutex_unlock(&priv->mutex);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void iwl3945_bg_restart(struct work_struct *data)
|
static void iwl3945_bg_restart(struct work_struct *data)
|
||||||
{
|
{
|
||||||
struct iwl_priv *priv = container_of(data, struct iwl_priv, restart);
|
struct iwl_priv *priv = container_of(data, struct iwl_priv, restart);
|
||||||
|
@ -3061,7 +3049,13 @@ static void iwl3945_bg_restart(struct work_struct *data)
|
||||||
ieee80211_restart_hw(priv->hw);
|
ieee80211_restart_hw(priv->hw);
|
||||||
} else {
|
} else {
|
||||||
iwl3945_down(priv);
|
iwl3945_down(priv);
|
||||||
queue_work(priv->workqueue, &priv->up);
|
|
||||||
|
if (test_bit(STATUS_EXIT_PENDING, &priv->status))
|
||||||
|
return;
|
||||||
|
|
||||||
|
mutex_lock(&priv->mutex);
|
||||||
|
__iwl3945_up(priv);
|
||||||
|
mutex_unlock(&priv->mutex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3782,7 +3776,6 @@ static void iwl3945_setup_deferred_work(struct iwl_priv *priv)
|
||||||
|
|
||||||
init_waitqueue_head(&priv->wait_command_queue);
|
init_waitqueue_head(&priv->wait_command_queue);
|
||||||
|
|
||||||
INIT_WORK(&priv->up, iwl3945_bg_up);
|
|
||||||
INIT_WORK(&priv->restart, iwl3945_bg_restart);
|
INIT_WORK(&priv->restart, iwl3945_bg_restart);
|
||||||
INIT_WORK(&priv->rx_replenish, iwl3945_bg_rx_replenish);
|
INIT_WORK(&priv->rx_replenish, iwl3945_bg_rx_replenish);
|
||||||
INIT_WORK(&priv->beacon_update, iwl3945_bg_beacon_update);
|
INIT_WORK(&priv->beacon_update, iwl3945_bg_beacon_update);
|
||||||
|
|
Loading…
Reference in New Issue