aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2013-10-02 08:02:25 -0400
committerJohannes Berg <johannes.berg@intel.com>2013-10-11 03:57:53 -0400
commit8e484f0baf4d6997c5663951a34877dff378620a (patch)
tree0d6e0de079bc82a31ad2154235242e7d9c4fc77b /drivers/net/wireless/iwlwifi/mvm
parent6d9d32b89ab0f9cbd182f807cc484e66e15c6972 (diff)
iwlwifi: mvm: BT Coex - track bandwidth changes in HT
BT Coex needs to be updated when the bandwidth is modified by the AP. While at it, remove the vif parameter from bt_coex_vif_change since it was unused. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/bt-coex.c2
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac80211.c7
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mvm.h2
3 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/bt-coex.c b/drivers/net/wireless/iwlwifi/mvm/bt-coex.c
index a007790223d9..f612c27fb4d8 100644
--- a/drivers/net/wireless/iwlwifi/mvm/bt-coex.c
+++ b/drivers/net/wireless/iwlwifi/mvm/bt-coex.c
@@ -921,7 +921,7 @@ u16 iwl_mvm_bt_coex_agg_time_limit(struct iwl_mvm *mvm,
921 return LINK_QUAL_AGG_TIME_LIMIT_BT_ACT; 921 return LINK_QUAL_AGG_TIME_LIMIT_BT_ACT;
922} 922}
923 923
924void iwl_mvm_bt_coex_vif_change(struct iwl_mvm *mvm, struct ieee80211_vif *vif) 924void iwl_mvm_bt_coex_vif_change(struct iwl_mvm *mvm)
925{ 925{
926 if (!(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_NEWBT_COEX)) 926 if (!(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_NEWBT_COEX))
927 return; 927 return;
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index f9eb708d2c33..65de7960cba0 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -863,7 +863,7 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
863 if (ret) 863 if (ret)
864 IWL_ERR(mvm, "failed to update power mode\n"); 864 IWL_ERR(mvm, "failed to update power mode\n");
865 } 865 }
866 iwl_mvm_bt_coex_vif_change(mvm, vif); 866 iwl_mvm_bt_coex_vif_change(mvm);
867 } else if (changes & BSS_CHANGED_BEACON_INFO) { 867 } else if (changes & BSS_CHANGED_BEACON_INFO) {
868 /* 868 /*
869 * We received a beacon _after_ association so 869 * We received a beacon _after_ association so
@@ -931,7 +931,7 @@ static int iwl_mvm_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
931 if (vif->p2p && mvm->p2p_device_vif) 931 if (vif->p2p && mvm->p2p_device_vif)
932 iwl_mvm_mac_ctxt_changed(mvm, mvm->p2p_device_vif); 932 iwl_mvm_mac_ctxt_changed(mvm, mvm->p2p_device_vif);
933 933
934 iwl_mvm_bt_coex_vif_change(mvm, vif); 934 iwl_mvm_bt_coex_vif_change(mvm);
935 935
936 mutex_unlock(&mvm->mutex); 936 mutex_unlock(&mvm->mutex);
937 return 0; 937 return 0;
@@ -958,7 +958,7 @@ static void iwl_mvm_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
958 958
959 mvmvif->ap_active = false; 959 mvmvif->ap_active = false;
960 960
961 iwl_mvm_bt_coex_vif_change(mvm, vif); 961 iwl_mvm_bt_coex_vif_change(mvm);
962 962
963 /* Need to update the P2P Device MAC */ 963 /* Need to update the P2P Device MAC */
964 if (vif->p2p && mvm->p2p_device_vif) 964 if (vif->p2p && mvm->p2p_device_vif)
@@ -1540,6 +1540,7 @@ static void iwl_mvm_change_chanctx(struct ieee80211_hw *hw,
1540 iwl_mvm_phy_ctxt_changed(mvm, phy_ctxt, &ctx->def, 1540 iwl_mvm_phy_ctxt_changed(mvm, phy_ctxt, &ctx->def,
1541 ctx->rx_chains_static, 1541 ctx->rx_chains_static,
1542 ctx->rx_chains_dynamic); 1542 ctx->rx_chains_dynamic);
1543 iwl_mvm_bt_coex_vif_change(mvm);
1543 mutex_unlock(&mvm->mutex); 1544 mutex_unlock(&mvm->mutex);
1544} 1545}
1545 1546
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h
index 16fb92e3877a..5b1c91c009b0 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h
@@ -817,7 +817,7 @@ int iwl_mvm_rx_bt_coex_notif(struct iwl_mvm *mvm,
817 struct iwl_device_cmd *cmd); 817 struct iwl_device_cmd *cmd);
818void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 818void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
819 enum ieee80211_rssi_event rssi_event); 819 enum ieee80211_rssi_event rssi_event);
820void iwl_mvm_bt_coex_vif_change(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 820void iwl_mvm_bt_coex_vif_change(struct iwl_mvm *mvm);
821u16 iwl_mvm_bt_coex_agg_time_limit(struct iwl_mvm *mvm, 821u16 iwl_mvm_bt_coex_agg_time_limit(struct iwl_mvm *mvm,
822 struct ieee80211_sta *sta); 822 struct ieee80211_sta *sta);
823enum iwl_bt_kill_msk { 823enum iwl_bt_kill_msk {