aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl3945-base.c
diff options
context:
space:
mode:
authorAbhijeet Kolekar <abhijeet.kolekar@intel.com>2008-09-02 23:26:30 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-09-08 14:23:16 -0400
commitdc4b1e7dda331c64dacd794a9380d4cff8547cce (patch)
tree7076a76931e8153420c0524a901b966daed7468c /drivers/net/wireless/iwlwifi/iwl3945-base.c
parent35d55b5cde00b7cae145b42ac2de741ca0a7e5a8 (diff)
iwl3945: removed bg_post_associate work
This patch removes bg_post_associate work. A direct call iwl3945_post_associate is made to avoid the waiting by userspace programs. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl3945-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index ed5e625fe4e5..f0081ded6dd6 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -6415,16 +6415,6 @@ static void iwl3945_post_associate(struct iwl3945_priv *priv)
6415 priv->next_scan_jiffies = jiffies + IWL_DELAY_NEXT_SCAN; 6415 priv->next_scan_jiffies = jiffies + IWL_DELAY_NEXT_SCAN;
6416} 6416}
6417 6417
6418static void iwl3945_bg_post_associate(struct work_struct *data)
6419{
6420 struct iwl3945_priv *priv = container_of(data, struct iwl3945_priv,
6421 post_associate.work);
6422
6423 mutex_lock(&priv->mutex);
6424 iwl3945_post_associate(priv);
6425 mutex_unlock(&priv->mutex);
6426}
6427
6428static void iwl3945_bg_abort_scan(struct work_struct *work) 6418static void iwl3945_bg_abort_scan(struct work_struct *work)
6429{ 6419{
6430 struct iwl3945_priv *priv = container_of(work, struct iwl3945_priv, abort_scan); 6420 struct iwl3945_priv *priv = container_of(work, struct iwl3945_priv, abort_scan);
@@ -6570,7 +6560,6 @@ static void iwl3945_mac_stop(struct ieee80211_hw *hw)
6570 */ 6560 */
6571 mutex_lock(&priv->mutex); 6561 mutex_lock(&priv->mutex);
6572 iwl3945_scan_cancel_timeout(priv, 100); 6562 iwl3945_scan_cancel_timeout(priv, 100);
6573 cancel_delayed_work(&priv->post_associate);
6574 mutex_unlock(&priv->mutex); 6563 mutex_unlock(&priv->mutex);
6575 } 6564 }
6576 6565
@@ -6936,7 +6925,6 @@ static void iwl3945_mac_remove_interface(struct ieee80211_hw *hw,
6936 6925
6937 if (iwl3945_is_ready_rf(priv)) { 6926 if (iwl3945_is_ready_rf(priv)) {
6938 iwl3945_scan_cancel_timeout(priv, 100); 6927 iwl3945_scan_cancel_timeout(priv, 100);
6939 cancel_delayed_work(&priv->post_associate);
6940 priv->staging_rxon.filter_flags &= ~RXON_FILTER_ASSOC_MSK; 6928 priv->staging_rxon.filter_flags &= ~RXON_FILTER_ASSOC_MSK;
6941 iwl3945_commit_rxon(priv); 6929 iwl3945_commit_rxon(priv);
6942 } 6930 }
@@ -7240,8 +7228,6 @@ static void iwl3945_mac_reset_tsf(struct ieee80211_hw *hw)
7240 7228
7241 iwl3945_reset_qos(priv); 7229 iwl3945_reset_qos(priv);
7242 7230
7243 cancel_delayed_work(&priv->post_associate);
7244
7245 spin_lock_irqsave(&priv->lock, flags); 7231 spin_lock_irqsave(&priv->lock, flags);
7246 priv->assoc_id = 0; 7232 priv->assoc_id = 0;
7247 priv->assoc_capability = 0; 7233 priv->assoc_capability = 0;
@@ -7326,7 +7312,7 @@ static int iwl3945_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *sk
7326 7312
7327 iwl3945_reset_qos(priv); 7313 iwl3945_reset_qos(priv);
7328 7314
7329 queue_work(priv->workqueue, &priv->post_associate.work); 7315 iwl3945_post_associate(priv);
7330 7316
7331 mutex_unlock(&priv->mutex); 7317 mutex_unlock(&priv->mutex);
7332 7318
@@ -7825,7 +7811,6 @@ static void iwl3945_setup_deferred_work(struct iwl3945_priv *priv)
7825 INIT_WORK(&priv->rf_kill, iwl3945_bg_rf_kill); 7811 INIT_WORK(&priv->rf_kill, iwl3945_bg_rf_kill);
7826 INIT_WORK(&priv->beacon_update, iwl3945_bg_beacon_update); 7812 INIT_WORK(&priv->beacon_update, iwl3945_bg_beacon_update);
7827 INIT_WORK(&priv->set_monitor, iwl3945_bg_set_monitor); 7813 INIT_WORK(&priv->set_monitor, iwl3945_bg_set_monitor);
7828 INIT_DELAYED_WORK(&priv->post_associate, iwl3945_bg_post_associate);
7829 INIT_DELAYED_WORK(&priv->init_alive_start, iwl3945_bg_init_alive_start); 7814 INIT_DELAYED_WORK(&priv->init_alive_start, iwl3945_bg_init_alive_start);
7830 INIT_DELAYED_WORK(&priv->alive_start, iwl3945_bg_alive_start); 7815 INIT_DELAYED_WORK(&priv->alive_start, iwl3945_bg_alive_start);
7831 INIT_DELAYED_WORK(&priv->scan_check, iwl3945_bg_scan_check); 7816 INIT_DELAYED_WORK(&priv->scan_check, iwl3945_bg_scan_check);
@@ -7843,7 +7828,6 @@ static void iwl3945_cancel_deferred_work(struct iwl3945_priv *priv)
7843 cancel_delayed_work_sync(&priv->init_alive_start); 7828 cancel_delayed_work_sync(&priv->init_alive_start);
7844 cancel_delayed_work(&priv->scan_check); 7829 cancel_delayed_work(&priv->scan_check);
7845 cancel_delayed_work(&priv->alive_start); 7830 cancel_delayed_work(&priv->alive_start);
7846 cancel_delayed_work(&priv->post_associate);
7847 cancel_work_sync(&priv->beacon_update); 7831 cancel_work_sync(&priv->beacon_update);
7848} 7832}
7849 7833