aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vasanth@atheros.com>2009-02-18 10:22:02 +0530
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:52:41 -0500
commitd5c232ff9bd5c0aa79b65a0d21cf9b944d7bf218 (patch)
tree66d7e1274cbb90f312a149bccec0c726f95db818 /drivers/net/wireless
parenta77b855245541823b49999a27245ad7428879096 (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')
-rw-r--r--drivers/net/wireless/ath9k/rc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath9k/rc.c b/drivers/net/wireless/ath9k/rc.c
index 6b4731c2473..0e3e2b7dd2e 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,
tx_info_priv->tx.ts_longretry);
/* Check if aggregation has to be enabled for this tid */
- if (conf_is_ht(&sc->hw->conf)) {
+ if (conf_is_ht(&sc->hw->conf) &&
+ !(skb->protocol == cpu_to_be16(ETH_P_PAE))) {
if (ieee80211_is_data_qos(fc)) {
u8 *qc, tid;
struct ath_node *an;