mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-03 09:56:47 +07:00
ath9k: Fix max AMPDU size calculation
The maximum A-MPDU size is calculated in ath_tx_aggr_start(), so there is no need to do it in node_attach() too. Also, make sure that the correct size is calculated as described in 8.4.2.58.3. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
4ad77ac92d
commit
5b502c8671
@ -427,12 +427,6 @@ static void ath_node_attach(struct ath_softc *sc, struct ieee80211_sta *sta,
|
||||
an->vif = vif;
|
||||
|
||||
ath_tx_node_init(sc, an);
|
||||
|
||||
if (sta->ht_cap.ht_supported) {
|
||||
an->maxampdu = 1 << (IEEE80211_HT_MAX_AMPDU_FACTOR +
|
||||
sta->ht_cap.ampdu_factor);
|
||||
an->mpdudensity = ath9k_parse_mpdudensity(sta->ht_cap.ampdu_density);
|
||||
}
|
||||
}
|
||||
|
||||
static void ath_node_detach(struct ath_softc *sc, struct ieee80211_sta *sta)
|
||||
|
@ -774,11 +774,6 @@ static u32 ath_lookup_rate(struct ath_softc *sc, struct ath_buf *bf,
|
||||
if (bt_aggr_limit)
|
||||
aggr_limit = bt_aggr_limit;
|
||||
|
||||
/*
|
||||
* h/w can accept aggregates up to 16 bit lengths (65535).
|
||||
* The IE, however can hold up to 65536, which shows up here
|
||||
* as zero. Ignore 65536 since we are constrained by hw.
|
||||
*/
|
||||
if (tid->an->maxampdu)
|
||||
aggr_limit = min(aggr_limit, tid->an->maxampdu);
|
||||
|
||||
@ -1399,8 +1394,8 @@ int ath_tx_aggr_start(struct ath_softc *sc, struct ieee80211_sta *sta,
|
||||
* has already been added.
|
||||
*/
|
||||
if (sta->ht_cap.ht_supported) {
|
||||
an->maxampdu = 1 << (IEEE80211_HT_MAX_AMPDU_FACTOR +
|
||||
sta->ht_cap.ampdu_factor);
|
||||
an->maxampdu = (1 << (IEEE80211_HT_MAX_AMPDU_FACTOR +
|
||||
sta->ht_cap.ampdu_factor)) - 1;
|
||||
density = ath9k_parse_mpdudensity(sta->ht_cap.ampdu_density);
|
||||
an->mpdudensity = density;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user