mirror of
https://github.com/torvalds/linux.git
synced 2024-11-08 21:21:47 +00:00
ath9k_htc: Fix max A-MPDU size handling
Set the maximum ampdu size of a station correctly in the target by using the ampdu_factor. Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
3a0593efd1
commit
f0dd49803b
@ -467,6 +467,7 @@ static int ath9k_htc_add_station(struct ath9k_htc_priv *priv,
|
||||
struct ath9k_htc_sta *ista;
|
||||
int ret, sta_idx;
|
||||
u8 cmd_rsp;
|
||||
u16 maxampdu;
|
||||
|
||||
if (priv->nstations >= ATH9K_HTC_MAX_STA)
|
||||
return -ENOBUFS;
|
||||
@ -490,7 +491,15 @@ static int ath9k_htc_add_station(struct ath9k_htc_priv *priv,
|
||||
|
||||
tsta.sta_index = sta_idx;
|
||||
tsta.vif_index = avp->index;
|
||||
tsta.maxampdu = cpu_to_be16(0xffff);
|
||||
|
||||
if (!sta) {
|
||||
tsta.maxampdu = cpu_to_be16(0xffff);
|
||||
} else {
|
||||
maxampdu = 1 << (IEEE80211_HT_MAX_AMPDU_FACTOR +
|
||||
sta->ht_cap.ampdu_factor);
|
||||
tsta.maxampdu = cpu_to_be16(maxampdu);
|
||||
}
|
||||
|
||||
if (sta && sta->ht_cap.ht_supported)
|
||||
tsta.flags = cpu_to_be16(ATH_HTC_STA_HT);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user