diff options
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 21 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 21 |
3 files changed, 14 insertions, 29 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); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index 9b0a5cbc20f9..1cd565aef62c 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -1264,7 +1264,6 @@ struct iwl_priv { | |||
1264 | 1264 | ||
1265 | struct workqueue_struct *workqueue; | 1265 | struct workqueue_struct *workqueue; |
1266 | 1266 | ||
1267 | struct work_struct up; | ||
1268 | struct work_struct restart; | 1267 | struct work_struct restart; |
1269 | struct work_struct calibrated_work; | 1268 | struct work_struct calibrated_work; |
1270 | struct work_struct scan_completed; | 1269 | struct work_struct scan_completed; |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index cd42b5838b38..119da54116de 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -3033,18 +3033,6 @@ static void iwl3945_bg_request_scan(struct work_struct *data) | |||
3033 | mutex_unlock(&priv->mutex); | 3033 | mutex_unlock(&priv->mutex); |
3034 | } | 3034 | } |
3035 | 3035 | ||
3036 | static void iwl3945_bg_up(struct work_struct *data) | ||
3037 | { | ||
3038 | struct iwl_priv *priv = container_of(data, struct iwl_priv, up); | ||
3039 | |||
3040 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) | ||
3041 | return; | ||
3042 | |||
3043 | mutex_lock(&priv->mutex); | ||
3044 | __iwl3945_up(priv); | ||
3045 | mutex_unlock(&priv->mutex); | ||
3046 | } | ||
3047 | |||
3048 | static void iwl3945_bg_restart(struct work_struct *data) | 3036 | static void iwl3945_bg_restart(struct work_struct *data) |
3049 | { | 3037 | { |
3050 | struct iwl_priv *priv = container_of(data, struct iwl_priv, restart); | 3038 | struct iwl_priv *priv = container_of(data, struct iwl_priv, restart); |
@@ -3061,7 +3049,13 @@ static void iwl3945_bg_restart(struct work_struct *data) | |||
3061 | ieee80211_restart_hw(priv->hw); | 3049 | ieee80211_restart_hw(priv->hw); |
3062 | } else { | 3050 | } else { |
3063 | iwl3945_down(priv); | 3051 | iwl3945_down(priv); |
3064 | queue_work(priv->workqueue, &priv->up); | 3052 | |
3053 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) | ||
3054 | return; | ||
3055 | |||
3056 | mutex_lock(&priv->mutex); | ||
3057 | __iwl3945_up(priv); | ||
3058 | mutex_unlock(&priv->mutex); | ||
3065 | } | 3059 | } |
3066 | } | 3060 | } |
3067 | 3061 | ||
@@ -3782,7 +3776,6 @@ static void iwl3945_setup_deferred_work(struct iwl_priv *priv) | |||
3782 | 3776 | ||
3783 | init_waitqueue_head(&priv->wait_command_queue); | 3777 | init_waitqueue_head(&priv->wait_command_queue); |
3784 | 3778 | ||
3785 | INIT_WORK(&priv->up, iwl3945_bg_up); | ||
3786 | INIT_WORK(&priv->restart, iwl3945_bg_restart); | 3779 | INIT_WORK(&priv->restart, iwl3945_bg_restart); |
3787 | INIT_WORK(&priv->rx_replenish, iwl3945_bg_rx_replenish); | 3780 | INIT_WORK(&priv->rx_replenish, iwl3945_bg_rx_replenish); |
3788 | INIT_WORK(&priv->beacon_update, iwl3945_bg_beacon_update); | 3781 | INIT_WORK(&priv->beacon_update, iwl3945_bg_beacon_update); |