|
@@ -174,6 +174,14 @@ static void iwl_mvm_power_configure_uapsd(struct iwl_mvm *mvm,
|
|
enum ieee80211_ac_numbers ac;
|
|
enum ieee80211_ac_numbers ac;
|
|
bool tid_found = false;
|
|
bool tid_found = false;
|
|
|
|
|
|
|
|
+#ifdef CONFIG_IWLWIFI_DEBUGFS
|
|
|
|
+ /* set advanced pm flag with no uapsd ACs to enable ps-poll */
|
|
|
|
+ if (mvmvif->dbgfs_pm.use_ps_poll) {
|
|
|
|
+ cmd->flags |= cpu_to_le16(POWER_FLAGS_ADVANCE_PM_ENA_MSK);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+#endif
|
|
|
|
+
|
|
for (ac = IEEE80211_AC_VO; ac <= IEEE80211_AC_BK; ac++) {
|
|
for (ac = IEEE80211_AC_VO; ac <= IEEE80211_AC_BK; ac++) {
|
|
if (!mvmvif->queue_params[ac].uapsd)
|
|
if (!mvmvif->queue_params[ac].uapsd)
|
|
continue;
|
|
continue;
|
|
@@ -204,16 +212,6 @@ static void iwl_mvm_power_configure_uapsd(struct iwl_mvm *mvm,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if (!(cmd->flags & cpu_to_le16(POWER_FLAGS_ADVANCE_PM_ENA_MSK))) {
|
|
|
|
-#ifdef CONFIG_IWLWIFI_DEBUGFS
|
|
|
|
- /* set advanced pm flag with no uapsd ACs to enable ps-poll */
|
|
|
|
- if (mvmvif->dbgfs_pm.use_ps_poll)
|
|
|
|
- cmd->flags |=
|
|
|
|
- cpu_to_le16(POWER_FLAGS_ADVANCE_PM_ENA_MSK);
|
|
|
|
-#endif
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
cmd->flags |= cpu_to_le16(POWER_FLAGS_UAPSD_MISBEHAVING_ENA_MSK);
|
|
cmd->flags |= cpu_to_le16(POWER_FLAGS_UAPSD_MISBEHAVING_ENA_MSK);
|
|
|
|
|
|
if (cmd->uapsd_ac_flags == (BIT(IEEE80211_AC_VO) |
|
|
if (cmd->uapsd_ac_flags == (BIT(IEEE80211_AC_VO) |
|