Commit f3129b73 authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by John W. Linville

iwlagn: use low retry limit for WoWLAN

When in D3 state, use low retry limit for both data and rts
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 281e27c8
...@@ -85,6 +85,7 @@ ...@@ -85,6 +85,7 @@
#define IWLAGN_MGMT_DFAULT_RETRY_LIMIT 3 #define IWLAGN_MGMT_DFAULT_RETRY_LIMIT 3
#define IWLAGN_RTS_DFAULT_RETRY_LIMIT 60 #define IWLAGN_RTS_DFAULT_RETRY_LIMIT 60
#define IWLAGN_BAR_DFAULT_RETRY_LIMIT 60 #define IWLAGN_BAR_DFAULT_RETRY_LIMIT 60
#define IWLAGN_LOW_RETRY_LIMIT 7
/* Limit range of txpower output target to be between these values */ /* Limit range of txpower output target to be between these values */
#define IWLAGN_TX_POWER_TARGET_POWER_MIN (0) /* 0 dBm: 1 milliwatt */ #define IWLAGN_TX_POWER_TARGET_POWER_MIN (0) /* 0 dBm: 1 milliwatt */
......
...@@ -124,17 +124,23 @@ static void iwlagn_tx_cmd_build_rate(struct iwl_priv *priv, ...@@ -124,17 +124,23 @@ static void iwlagn_tx_cmd_build_rate(struct iwl_priv *priv,
u8 data_retry_limit; u8 data_retry_limit;
u8 rate_plcp; u8 rate_plcp;
/* Set retry limit on RTS packets */ if (priv->shrd->wowlan) {
rts_retry_limit = IWLAGN_RTS_DFAULT_RETRY_LIMIT; rts_retry_limit = IWLAGN_LOW_RETRY_LIMIT;
data_retry_limit = IWLAGN_LOW_RETRY_LIMIT;
/* Set retry limit on DATA packets and Probe Responses*/ } else {
if (ieee80211_is_probe_resp(fc)) { /* Set retry limit on RTS packets */
data_retry_limit = IWLAGN_MGMT_DFAULT_RETRY_LIMIT; rts_retry_limit = IWLAGN_RTS_DFAULT_RETRY_LIMIT;
rts_retry_limit = min(data_retry_limit, rts_retry_limit);
} else if (ieee80211_is_back_req(fc)) /* Set retry limit on DATA packets and Probe Responses*/
data_retry_limit = IWLAGN_BAR_DFAULT_RETRY_LIMIT; if (ieee80211_is_probe_resp(fc)) {
else data_retry_limit = IWLAGN_MGMT_DFAULT_RETRY_LIMIT;
data_retry_limit = IWLAGN_DEFAULT_TX_RETRY; rts_retry_limit =
min(data_retry_limit, rts_retry_limit);
} else if (ieee80211_is_back_req(fc))
data_retry_limit = IWLAGN_BAR_DFAULT_RETRY_LIMIT;
else
data_retry_limit = IWLAGN_DEFAULT_TX_RETRY;
}
tx_cmd->data_retry_limit = data_retry_limit; tx_cmd->data_retry_limit = data_retry_limit;
tx_cmd->rts_retry_limit = rts_retry_limit; tx_cmd->rts_retry_limit = rts_retry_limit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment