mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
ath9k: fix a tx rate duration calculation bug
The rate pointer variable for a rate series is used in a loop before it is initialized. This went unnoticed because it was used earlier for the RTS/CTS rate. This bug can lead to the wrong PHY type being passed to the duration calculation function. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
bcb7ad7bcb
commit
76591bea97
@ -1001,13 +1001,13 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf,
|
||||
}
|
||||
|
||||
/* legacy rates */
|
||||
rate = &sc->sbands[tx_info->band].bitrates[rates[i].idx];
|
||||
if ((tx_info->band == IEEE80211_BAND_2GHZ) &&
|
||||
!(rate->flags & IEEE80211_RATE_ERP_G))
|
||||
phy = WLAN_RC_PHY_CCK;
|
||||
else
|
||||
phy = WLAN_RC_PHY_OFDM;
|
||||
|
||||
rate = &sc->sbands[tx_info->band].bitrates[rates[i].idx];
|
||||
info->rates[i].Rate = rate->hw_value;
|
||||
if (rate->hw_value_short) {
|
||||
if (rates[i].flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)
|
||||
|
Loading…
Reference in New Issue
Block a user