diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-08-23 10:56:59 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-25 14:33:22 -0400 |
commit | a11741383ba6eef707b8330f0d3c1da6a7478ee3 (patch) | |
tree | 45ef1458d753ee13499f9342cbf997df9629bd03 /drivers/net/wireless/iwlwifi/iwl-agn.c | |
parent | 290f599cc6ee8c769355486b7d98fd1dc5115d76 (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.c | 7 |
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); |