Benoit Papillault wrote: > ath9k rate control choose the rate table based on the current channel > (if it is ht40 or not). However, it happens that at this stage, the > channel is still ht20 even if the peer sta capabilities would later > allow ht40. So let's use peer sta capabilities directly. > > Signed-off-by: Benoit Papillault <benoit.papillault@xxxxxxx> > --- > drivers/net/wireless/ath/ath9k/rc.c | 6 ++---- > 1 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c > index 1196884..5ce9da5 100644 > --- a/drivers/net/wireless/ath/ath9k/rc.c > +++ b/drivers/net/wireless/ath/ath9k/rc.c > @@ -1341,10 +1341,8 @@ static void ath_rate_update(void *priv, struct ieee80211_supported_band *sband, > if (sc->sc_ah->opmode != NL80211_IFTYPE_STATION) > return; > > - if (sc->hw->conf.channel_type == NL80211_CHAN_HT40MINUS || > - sc->hw->conf.channel_type == NL80211_CHAN_HT40PLUS) > - oper_cw40 = true; > - > + oper_cw40 = (sta->ht_cap.cap & > + IEEE80211_HT_CAP_SUP_WIDTH_20_40) ? true : false; > oper_sgi40 = (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40) ? > true : false; > This is wrong, the AP can certainly support HT40/HT20 and switch between them dynamically - this patch changes how ath9k reacts to channel switching. The AP can switch its operating channel to HT20 - but the HT40 supported bit will _still_ be set. Can you capture the association sequence and check the HT_INFO IE ( which is different from HT CAP) ? Sujith -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html