aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-08-23 10:56:59 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-08-25 14:33:22 -0400
commita11741383ba6eef707b8330f0d3c1da6a7478ee3 (patch)
tree45ef1458d753ee13499f9342cbf997df9629bd03 /drivers/net/wireless/iwlwifi/iwl-agn.c
parent290f599cc6ee8c769355486b7d98fd1dc5115d76 (diff)
iwlwifi: reset BT when going down
When we turn off the device, reset BT data so that we don't have outdated information when we come up again. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 26bc0482dd9e..a8a5a5b79f39 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -2773,6 +2773,10 @@ static void __iwl_down(struct iwl_priv *priv)
2773 iwl_dealloc_bcast_station(priv); 2773 iwl_dealloc_bcast_station(priv);
2774 iwl_clear_driver_stations(priv); 2774 iwl_clear_driver_stations(priv);
2775 2775
2776 /* reset BT coex data */
2777 priv->bt_traffic_load = 0;
2778 priv->bt_sco_active = false;
2779
2776 /* Unblock any waiting calls */ 2780 /* Unblock any waiting calls */
2777 wake_up_interruptible_all(&priv->wait_command_queue); 2781 wake_up_interruptible_all(&priv->wait_command_queue);
2778 2782
@@ -3078,8 +3082,9 @@ static void iwl_bg_restart(struct work_struct *data)
3078 mutex_lock(&priv->mutex); 3082 mutex_lock(&priv->mutex);
3079 priv->vif = NULL; 3083 priv->vif = NULL;
3080 priv->is_open = 0; 3084 priv->is_open = 0;
3085 __iwl_down(priv);
3081 mutex_unlock(&priv->mutex); 3086 mutex_unlock(&priv->mutex);
3082 iwl_down(priv); 3087 iwl_cancel_deferred_work(priv);
3083 ieee80211_restart_hw(priv->hw); 3088 ieee80211_restart_hw(priv->hw);
3084 } else { 3089 } else {
3085 iwl_down(priv); 3090 iwl_down(priv);