diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-11-08 09:03:10 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-11-08 09:03:10 -0500 |
commit | c1f3bb6bd317994beb3af7bbec4bf54ed0035509 (patch) | |
tree | 878833c714ddcb35f1574f2b11e1f69d1130d206 /drivers/net/wireless/iwlwifi/mvm/mac80211.c | |
parent | dcd607718385d02ce3741de225927a57f528f93b (diff) | |
parent | 3c57e865cfb2dcbb48fdfa08e7d4e3479e9b40f0 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/mac80211.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/mac80211.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c index f40685c3764e..74bc2c8af06d 100644 --- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c +++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c | |||
@@ -164,8 +164,7 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) | |||
164 | IEEE80211_HW_TIMING_BEACON_ONLY | | 164 | IEEE80211_HW_TIMING_BEACON_ONLY | |
165 | IEEE80211_HW_CONNECTION_MONITOR | | 165 | IEEE80211_HW_CONNECTION_MONITOR | |
166 | IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS | | 166 | IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS | |
167 | IEEE80211_HW_SUPPORTS_STATIC_SMPS | | 167 | IEEE80211_HW_SUPPORTS_STATIC_SMPS; |
168 | IEEE80211_HW_SUPPORTS_UAPSD; | ||
169 | 168 | ||
170 | hw->queues = mvm->first_agg_queue; | 169 | hw->queues = mvm->first_agg_queue; |
171 | hw->offchannel_tx_hw_queue = IWL_MVM_OFFCHANNEL_QUEUE; | 170 | hw->offchannel_tx_hw_queue = IWL_MVM_OFFCHANNEL_QUEUE; |
@@ -180,6 +179,12 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) | |||
180 | !iwlwifi_mod_params.sw_crypto) | 179 | !iwlwifi_mod_params.sw_crypto) |
181 | hw->flags |= IEEE80211_HW_MFP_CAPABLE; | 180 | hw->flags |= IEEE80211_HW_MFP_CAPABLE; |
182 | 181 | ||
182 | if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT) { | ||
183 | hw->flags |= IEEE80211_HW_SUPPORTS_UAPSD; | ||
184 | hw->uapsd_queues = IWL_UAPSD_AC_INFO; | ||
185 | hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP; | ||
186 | } | ||
187 | |||
183 | hw->sta_data_size = sizeof(struct iwl_mvm_sta); | 188 | hw->sta_data_size = sizeof(struct iwl_mvm_sta); |
184 | hw->vif_data_size = sizeof(struct iwl_mvm_vif); | 189 | hw->vif_data_size = sizeof(struct iwl_mvm_vif); |
185 | hw->chanctx_data_size = sizeof(u16); | 190 | hw->chanctx_data_size = sizeof(u16); |
@@ -204,8 +209,6 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) | |||
204 | 209 | ||
205 | hw->wiphy->max_remain_on_channel_duration = 10000; | 210 | hw->wiphy->max_remain_on_channel_duration = 10000; |
206 | hw->max_listen_interval = IWL_CONN_MAX_LISTEN_INTERVAL; | 211 | hw->max_listen_interval = IWL_CONN_MAX_LISTEN_INTERVAL; |
207 | hw->uapsd_queues = IWL_UAPSD_AC_INFO; | ||
208 | hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP; | ||
209 | 212 | ||
210 | /* Extract MAC address */ | 213 | /* Extract MAC address */ |
211 | memcpy(mvm->addresses[0].addr, mvm->nvm_data->hw_addr, ETH_ALEN); | 214 | memcpy(mvm->addresses[0].addr, mvm->nvm_data->hw_addr, ETH_ALEN); |
@@ -861,7 +864,8 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm, | |||
861 | /* reset rssi values */ | 864 | /* reset rssi values */ |
862 | mvmvif->bf_data.ave_beacon_signal = 0; | 865 | mvmvif->bf_data.ave_beacon_signal = 0; |
863 | 866 | ||
864 | if (!(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD)) { | 867 | if (!(mvm->fw->ucode_capa.flags & |
868 | IWL_UCODE_TLV_FLAGS_PM_CMD_SUPPORT)) { | ||
865 | /* Workaround for FW bug, otherwise FW disables device | 869 | /* Workaround for FW bug, otherwise FW disables device |
866 | * power save upon disassociation | 870 | * power save upon disassociation |
867 | */ | 871 | */ |