mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-20 13:30:32 +07:00
ath9k: fix invalid max frame length
According to 802.11n-2012 standard in paragraph PPDU Fromat(20.3.2) HT-mixed format Hearder PPDU contains : L_STF, L_LTF, L_SIG, HT_SIG, HT_STF, HT_LTF they are symbols in the preamble, there are in time unit(us) that's for why it can't be computed in bytes Signed-off-by: Sylvain ROGER RIEUNIER <sylvain.roger.rieunier@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
c8e4955653
commit
727b662c2b
@ -1040,11 +1040,11 @@ static int ath_max_framelen(int usec, int mcs, bool ht40, bool sgi)
|
||||
int symbols, bits;
|
||||
int bytes = 0;
|
||||
|
||||
usec -= L_STF + L_LTF + L_SIG + HT_SIG + HT_STF + HT_LTF(streams);
|
||||
symbols = sgi ? TIME_SYMBOLS_HALFGI(usec) : TIME_SYMBOLS(usec);
|
||||
bits = symbols * bits_per_symbol[mcs % 8][ht40] * streams;
|
||||
bits -= OFDM_PLCP_BITS;
|
||||
bytes = bits / 8;
|
||||
bytes -= L_STF + L_LTF + L_SIG + HT_SIG + HT_STF + HT_LTF(streams);
|
||||
if (bytes > 65532)
|
||||
bytes = 65532;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user