|
@@ -236,6 +236,26 @@ static void iwl_rx_scan_complete_notif(struct iwl_priv *priv,
|
|
|
|
|
|
clear_bit(STATUS_SCANNING, &priv->status);
|
|
|
|
|
|
+ if (priv->iw_mode != NL80211_IFTYPE_ADHOC &&
|
|
|
+ priv->cfg->advanced_bt_coexist && priv->bt_status !=
|
|
|
+ scan_notif->bt_status) {
|
|
|
+ if (scan_notif->bt_status) {
|
|
|
+ /* BT on */
|
|
|
+ if (!priv->bt_ch_announce)
|
|
|
+ priv->bt_traffic_load =
|
|
|
+ IWL_BT_COEX_TRAFFIC_LOAD_HIGH;
|
|
|
+ /*
|
|
|
+ * otherwise, no traffic load information provided
|
|
|
+ * no changes made
|
|
|
+ */
|
|
|
+ } else {
|
|
|
+ /* BT off */
|
|
|
+ priv->bt_traffic_load =
|
|
|
+ IWL_BT_COEX_TRAFFIC_LOAD_NONE;
|
|
|
+ }
|
|
|
+ priv->bt_status = scan_notif->bt_status;
|
|
|
+ queue_work(priv->workqueue, &priv->bt_traffic_change_work);
|
|
|
+ }
|
|
|
queue_work(priv->workqueue, &priv->scan_completed);
|
|
|
}
|
|
|
|