ath9k_htc: Fix max subframe handling
authorSujith Manoharan <Sujith.Manoharan@atheros.com>
Tue, 17 May 2011 07:12:14 +0000 (12:42 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 19 May 2011 17:54:02 +0000 (13:54 -0400)
Commit "ath9k_htc: Fix AMPDU subframe handling" registered the maximum
subframe limit of the driver with mac80211, which was used in ADDBA
negotiation. While technically correct, this causes inter-operability issues
with a few APs. Revert to the older behavior to fix this.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/htc_drv_init.c
drivers/net/wireless/ath/ath9k/htc_drv_main.c

index bfdc8a8..d222456 100644 (file)
@@ -769,11 +769,6 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
        hw->channel_change_time = 5000;
        hw->max_listen_interval = 10;
 
-       if (AR_SREV_9271(priv->ah))
-               hw->max_tx_aggregation_subframes = MAX_TX_AMPDU_SUBFRAMES_9271;
-       else
-               hw->max_tx_aggregation_subframes = MAX_TX_AMPDU_SUBFRAMES_7010;
-
        hw->vif_data_size = sizeof(struct ath9k_htc_vif);
        hw->sta_data_size = sizeof(struct ath9k_htc_sta);
 
index 6eedabb..bee100e 100644 (file)
@@ -581,7 +581,7 @@ int ath9k_htc_update_cap_target(struct ath9k_htc_priv *priv,
        memset(&tcap, 0, sizeof(struct ath9k_htc_cap_target));
 
        tcap.ampdu_limit = cpu_to_be32(0xffff);
-       tcap.ampdu_subframes = priv->hw->max_tx_aggregation_subframes;
+       tcap.ampdu_subframes = 0xff;
        tcap.enable_coex = enable_coex;
        tcap.tx_chainmask = priv->ah->caps.tx_chainmask;