diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-01-21 09:07:17 -0500 |
---|---|---|
committer | Reinette Chatre <reinette.chatre@intel.com> | 2010-01-29 14:13:57 -0500 |
commit | 80676518da523e926e70794ac2767829effcf3ba (patch) | |
tree | 163f0fba772390539773d8d4731e0eb788d3d488 /drivers/net/wireless/iwlwifi/iwl-agn.c | |
parent | 9f1f3ceacb7e52d9bc0364b4f26ae418de79656f (diff) |
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>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 1c54425afe22..b528a20ade4f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -2439,18 +2439,6 @@ static void iwl_bg_run_time_calib_work(struct work_struct *work) | |||
2439 | return; | 2439 | return; |
2440 | } | 2440 | } |
2441 | 2441 | ||
2442 | static void iwl_bg_up(struct work_struct *data) | ||
2443 | { | ||
2444 | struct iwl_priv *priv = container_of(data, struct iwl_priv, up); | ||
2445 | |||
2446 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) | ||
2447 | return; | ||
2448 | |||
2449 | mutex_lock(&priv->mutex); | ||
2450 | __iwl_up(priv); | ||
2451 | mutex_unlock(&priv->mutex); | ||
2452 | } | ||
2453 | |||
2454 | static void iwl_bg_restart(struct work_struct *data) | 2442 | static void iwl_bg_restart(struct work_struct *data) |
2455 | { | 2443 | { |
2456 | struct iwl_priv *priv = container_of(data, struct iwl_priv, restart); | 2444 | struct iwl_priv *priv = container_of(data, struct iwl_priv, restart); |
@@ -2467,7 +2455,13 @@ static void iwl_bg_restart(struct work_struct *data) | |||
2467 | ieee80211_restart_hw(priv->hw); | 2455 | ieee80211_restart_hw(priv->hw); |
2468 | } else { | 2456 | } else { |
2469 | iwl_down(priv); | 2457 | iwl_down(priv); |
2470 | queue_work(priv->workqueue, &priv->up); | 2458 | |
2459 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) | ||
2460 | return; | ||
2461 | |||
2462 | mutex_lock(&priv->mutex); | ||
2463 | __iwl_up(priv); | ||
2464 | mutex_unlock(&priv->mutex); | ||
2471 | } | 2465 | } |
2472 | } | 2466 | } |
2473 | 2467 | ||
@@ -3285,7 +3279,6 @@ static void iwl_setup_deferred_work(struct iwl_priv *priv) | |||
3285 | 3279 | ||
3286 | init_waitqueue_head(&priv->wait_command_queue); | 3280 | init_waitqueue_head(&priv->wait_command_queue); |
3287 | 3281 | ||
3288 | INIT_WORK(&priv->up, iwl_bg_up); | ||
3289 | INIT_WORK(&priv->restart, iwl_bg_restart); | 3282 | INIT_WORK(&priv->restart, iwl_bg_restart); |
3290 | INIT_WORK(&priv->rx_replenish, iwl_bg_rx_replenish); | 3283 | INIT_WORK(&priv->rx_replenish, iwl_bg_rx_replenish); |
3291 | INIT_WORK(&priv->beacon_update, iwl_bg_beacon_update); | 3284 | INIT_WORK(&priv->beacon_update, iwl_bg_beacon_update); |