aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/iwlwifi/mvm/ops.c
diff options
context:
space:
mode:
authorAlexander Bondar2013-04-14 20:59:37 +0300
committerEmmanuel Grumbach2013-12-17 19:39:40 +0200
commit175a70b7f22894cda03e1608f075c548656024f8 (patch)
tree2df0167819ae41bc674be1d00c03038f45961f87 /drivers/net/wireless/iwlwifi/mvm/ops.c
parent5f7a6f9b256ffee6392d16207619448a1d7bfe14 (diff)
iwlwifi: mvm: Add uAPSD misbehaving AP notification handling
FW implements protective algorithm to identify AP's improper uAPSD behavior. FW sends misbehaving AP notification in this case. Add this notification handling. Avoid using uAPSD in next association to the exactly same AP. Refactor iwl_mvm_power_build_cmd() to move uAPSD related code to a separate function. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/ops.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/ops.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c
index cae6123d25c3..2e9af9f55796 100644
--- a/drivers/net/wireless/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/iwlwifi/mvm/ops.c
@@ -236,6 +236,8 @@ static const struct iwl_rx_handlers iwl_mvm_rx_handlers[] = {
false),
RX_HANDLER(REPLY_ERROR, iwl_mvm_rx_fw_error, false),
+ RX_HANDLER(PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION,
+ iwl_mvm_power_uapsd_misbehaving_ap_notif, false),
};
#undef RX_HANDLER
#define CMD(x) [x] = #x
@@ -311,6 +313,7 @@ static const char *iwl_mvm_cmd_strings[REPLY_MAX] = {
CMD(REPLY_THERMAL_MNG_BACKOFF),
CMD(MAC_PM_POWER_TABLE),
CMD(BT_COEX_CI),
+ CMD(PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION),
};
#undef CMD