ath9k: Fix bug in determining HT40 mode
This patch fixes a bug in checking for HT40 mode. The STA's mode can be determined from the cached HT capabilities, use that and remove the redundant variable 'rc_phy_mode'. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
c6483cfe71
commit
f5c38ef06e
@ -1321,7 +1321,7 @@ static void ath_rc_tx_status(struct ath_softc *sc,
|
||||
* 40 to 20 => don't update */
|
||||
|
||||
if ((flags & IEEE80211_TX_RC_40_MHZ_WIDTH) &&
|
||||
(ath_rc_priv->rc_phy_mode != WLAN_RC_40_FLAG))
|
||||
!(ath_rc_priv->ht_cap & WLAN_RC_40_FLAG))
|
||||
return;
|
||||
|
||||
rix = ath_rc_get_rateindex(rate_table, &rates[i]);
|
||||
@ -1346,9 +1346,8 @@ static void ath_rc_tx_status(struct ath_softc *sc,
|
||||
|
||||
/* If HT40 and we have switched mode from 40 to 20 => don't update */
|
||||
if ((flags & IEEE80211_TX_RC_40_MHZ_WIDTH) &&
|
||||
(ath_rc_priv->rc_phy_mode != WLAN_RC_40_FLAG)) {
|
||||
!(ath_rc_priv->ht_cap & WLAN_RC_40_FLAG))
|
||||
return;
|
||||
}
|
||||
|
||||
rix = ath_rc_get_rateindex(rate_table, &rates[i]);
|
||||
ath_rc_update_ht(sc, ath_rc_priv, tx_info_priv, rix,
|
||||
@ -1421,7 +1420,6 @@ static void ath_rc_init(struct ath_softc *sc,
|
||||
ath_rc_priv->valid_phy_rateidx[i][j] = 0;
|
||||
ath_rc_priv->valid_phy_ratecnt[i] = 0;
|
||||
}
|
||||
ath_rc_priv->rc_phy_mode = ath_rc_priv->ht_cap & WLAN_RC_40_FLAG;
|
||||
|
||||
if (!rateset->rs_nrates) {
|
||||
/* No working rate, just initialize valid rates */
|
||||
|
@ -176,7 +176,6 @@ struct ath_rate_priv {
|
||||
u8 ht_cap;
|
||||
u8 valid_phy_ratecnt[WLAN_RC_PHY_MAX];
|
||||
u8 valid_phy_rateidx[WLAN_RC_PHY_MAX][RATE_TABLE_SIZE];
|
||||
u8 rc_phy_mode;
|
||||
u8 rate_max_phy;
|
||||
u32 rssi_time;
|
||||
u32 rssi_down_time;
|
||||
|
Loading…
x
Reference in New Issue
Block a user