aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/mac80211.c
diff options
context:
space:
mode:
authorDavid Spinadel <david.spinadel@intel.com>2013-08-21 02:14:27 -0400
committerJohannes Berg <johannes.berg@intel.com>2013-10-02 12:00:39 -0400
commit20f1a5deb67f00cef89d63fb957a940c7f976cf3 (patch)
tree65073a059256415cff46cc9efacba8946a2ab7de /drivers/net/wireless/iwlwifi/mvm/mac80211.c
parent3394817f833f13958320ae6e0dccf347c1ce5200 (diff)
iwlwifi: mvm: add no_basic_ssid option
New FW doesn't use the SSID from scan request template. Adding a TLV flag to indicate the change, and fixing the flows to send the first SSID in SSID list if the flag is on. Signed-off-by: David Spinadel <david.spinadel@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/mac80211.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac80211.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 141fc547dc2d..0340299b4b63 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -139,6 +139,14 @@ static void iwl_mvm_reset_phy_ctxts(struct iwl_mvm *mvm)
139 } 139 }
140} 140}
141 141
142static int iwl_mvm_max_scan_ie_len(struct iwl_mvm *mvm)
143{
144 /* we create the 802.11 header and SSID element */
145 if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_NO_BASIC_SSID)
146 return mvm->fw->ucode_capa.max_probe_length - 24 - 2;
147 return mvm->fw->ucode_capa.max_probe_length - 24 - 34;
148}
149
142int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) 150int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
143{ 151{
144 struct ieee80211_hw *hw = mvm->hw; 152 struct ieee80211_hw *hw = mvm->hw;
@@ -213,9 +221,8 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
213 221
214 iwl_mvm_reset_phy_ctxts(mvm); 222 iwl_mvm_reset_phy_ctxts(mvm);
215 223
216 /* we create the 802.11 header and a max-length SSID element */ 224 hw->wiphy->max_scan_ie_len = iwl_mvm_max_scan_ie_len(mvm);
217 hw->wiphy->max_scan_ie_len = 225
218 mvm->fw->ucode_capa.max_probe_length - 24 - 34;
219 hw->wiphy->max_scan_ssids = PROBE_OPTION_MAX; 226 hw->wiphy->max_scan_ssids = PROBE_OPTION_MAX;
220 227
221 if (mvm->nvm_data->bands[IEEE80211_BAND_2GHZ].n_channels) 228 if (mvm->nvm_data->bands[IEEE80211_BAND_2GHZ].n_channels)