Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bd548799 authored by Sujith Manoharan's avatar Sujith Manoharan Committed by John W. Linville
Browse files

ath9k_htc: Fix max subframe handling



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: default avatarSujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 0cd075d7
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -769,11 +769,6 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
	hw->channel_change_time = 5000;
	hw->channel_change_time = 5000;
	hw->max_listen_interval = 10;
	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->vif_data_size = sizeof(struct ath9k_htc_vif);
	hw->sta_data_size = sizeof(struct ath9k_htc_sta);
	hw->sta_data_size = sizeof(struct ath9k_htc_sta);


+1 −1
Original line number Original line Diff line number Diff line
@@ -581,7 +581,7 @@ int ath9k_htc_update_cap_target(struct ath9k_htc_priv *priv,
	memset(&tcap, 0, sizeof(struct ath9k_htc_cap_target));
	memset(&tcap, 0, sizeof(struct ath9k_htc_cap_target));


	tcap.ampdu_limit = cpu_to_be32(0xffff);
	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.enable_coex = enable_coex;
	tcap.tx_chainmask = priv->ah->caps.tx_chainmask;
	tcap.tx_chainmask = priv->ah->caps.tx_chainmask;