Skip to content

Commit

Permalink
iwlagn: use low retry limit for WoWLAN
Browse files Browse the repository at this point in the history
When in D3 state, use low retry limit for both data and rts

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Wey-Yi Guy authored and John W. Linville committed Oct 14, 2011
1 parent 281e27c commit f3129b7
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
1 change: 1 addition & 0 deletions drivers/net/wireless/iwlwifi/iwl-agn-hw.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
#define IWLAGN_MGMT_DFAULT_RETRY_LIMIT 3
#define IWLAGN_RTS_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 */
#define IWLAGN_TX_POWER_TARGET_POWER_MIN (0) /* 0 dBm: 1 milliwatt */
Expand Down
28 changes: 17 additions & 11 deletions drivers/net/wireless/iwlwifi/iwl-agn-tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,17 +124,23 @@ static void iwlagn_tx_cmd_build_rate(struct iwl_priv *priv,
u8 data_retry_limit;
u8 rate_plcp;

/* Set retry limit on RTS packets */
rts_retry_limit = IWLAGN_RTS_DFAULT_RETRY_LIMIT;

/* Set retry limit on DATA packets and Probe Responses*/
if (ieee80211_is_probe_resp(fc)) {
data_retry_limit = IWLAGN_MGMT_DFAULT_RETRY_LIMIT;
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;
if (priv->shrd->wowlan) {
rts_retry_limit = IWLAGN_LOW_RETRY_LIMIT;
data_retry_limit = IWLAGN_LOW_RETRY_LIMIT;
} else {
/* Set retry limit on RTS packets */
rts_retry_limit = IWLAGN_RTS_DFAULT_RETRY_LIMIT;

/* Set retry limit on DATA packets and Probe Responses*/
if (ieee80211_is_probe_resp(fc)) {
data_retry_limit = IWLAGN_MGMT_DFAULT_RETRY_LIMIT;
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->rts_retry_limit = rts_retry_limit;
Expand Down

0 comments on commit f3129b7

Please sign in to comment.