diff options
author | David Spinadel <david.spinadel@intel.com> | 2013-08-21 02:14:27 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-10-02 12:00:39 -0400 |
commit | 20f1a5deb67f00cef89d63fb957a940c7f976cf3 (patch) | |
tree | 65073a059256415cff46cc9efacba8946a2ab7de /drivers/net/wireless/iwlwifi/mvm/mac80211.c | |
parent | 3394817f833f13958320ae6e0dccf347c1ce5200 (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.c | 13 |
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 | ||
142 | static 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 | |||
142 | int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) | 150 | int 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) |