diff options
author | Vasanthakumar Thiagarajan <vasanth@atheros.com> | 2009-02-17 23:52:02 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-02-27 14:52:41 -0500 |
commit | d5c232ff9bd5c0aa79b65a0d21cf9b944d7bf218 (patch) | |
tree | 66d7e1274cbb90f312a149bccec0c726f95db818 /drivers/net/wireless/ath9k/rc.c | |
parent | a77b855245541823b49999a27245ad7428879096 (diff) |
ath9k: Fix PTK/GTK handshake timeout
Some APs don't start BA negotiation with the client before it is done
with the key handshake in WPA/RSN. With those APs, key handshake times
out if EAPOL frames are sent after addba request. So defer the BA negotiation
until we are done with tx/rx of all EAPOL frames.
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/rc.c')
-rw-r--r-- | drivers/net/wireless/ath9k/rc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath9k/rc.c b/drivers/net/wireless/ath9k/rc.c index 6b4731c24736..0e3e2b7dd2ec 100644 --- a/drivers/net/wireless/ath9k/rc.c +++ b/drivers/net/wireless/ath9k/rc.c | |||
@@ -1535,7 +1535,8 @@ static void ath_tx_status(void *priv, struct ieee80211_supported_band *sband, | |||
1535 | tx_info_priv->tx.ts_longretry); | 1535 | tx_info_priv->tx.ts_longretry); |
1536 | 1536 | ||
1537 | /* Check if aggregation has to be enabled for this tid */ | 1537 | /* Check if aggregation has to be enabled for this tid */ |
1538 | if (conf_is_ht(&sc->hw->conf)) { | 1538 | if (conf_is_ht(&sc->hw->conf) && |
1539 | !(skb->protocol == cpu_to_be16(ETH_P_PAE))) { | ||
1539 | if (ieee80211_is_data_qos(fc)) { | 1540 | if (ieee80211_is_data_qos(fc)) { |
1540 | u8 *qc, tid; | 1541 | u8 *qc, tid; |
1541 | struct ath_node *an; | 1542 | struct ath_node *an; |