ath9k: Fix PTK/GTK handshake timeout
authorVasanthakumar Thiagarajan <vasanth@atheros.com>
Wed, 18 Feb 2009 04:52:02 +0000 (10:22 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 27 Feb 2009 19:52:41 +0000 (14:52 -0500)
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>
drivers/net/wireless/ath9k/rc.c

index 6b4731c24736eae834eafd7ac50c08994c635a27..0e3e2b7dd2ecb6ee3ba0ca79d651e4b1fbd35a23 100644 (file)
@@ -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;