Просмотр исходного кода

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>
Johannes Berg 15 лет назад
Родитель
Сommit
a11741383b
1 измененных файлов с 6 добавлено и 1 удалено
  1. 6 1
      drivers/net/wireless/iwlwifi/iwl-agn.c

+ 6 - 1
drivers/net/wireless/iwlwifi/iwl-agn.c

@@ -2773,6 +2773,10 @@ static void __iwl_down(struct iwl_priv *priv)
 	iwl_dealloc_bcast_station(priv);
 	iwl_clear_driver_stations(priv);
 
+	/* reset BT coex data */
+	priv->bt_traffic_load = 0;
+	priv->bt_sco_active = false;
+
 	/* Unblock any waiting calls */
 	wake_up_interruptible_all(&priv->wait_command_queue);
 
@@ -3078,8 +3082,9 @@ static void iwl_bg_restart(struct work_struct *data)
 		mutex_lock(&priv->mutex);
 		priv->vif = NULL;
 		priv->is_open = 0;
+		__iwl_down(priv);
 		mutex_unlock(&priv->mutex);
-		iwl_down(priv);
+		iwl_cancel_deferred_work(priv);
 		ieee80211_restart_hw(priv->hw);
 	} else {
 		iwl_down(priv);