When using IBSS in HT mode, we always get NSS=1 in rc_update callback. Force NSS recalculation when rates updated and notify driver that NSS changed. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> --- net/mac80211/ibss.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index 509bc15..d95c2dd 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -1069,9 +1069,16 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata, } if (sta && rates_updated) { + u8 rx_nss = sta->sta.rx_nss; + drv_sta_rc_update(local, sdata, &sta->sta, IEEE80211_RC_SUPP_RATES_CHANGED); + /* Force rx_nss recalculation */ + sta->sta.rx_nss = 0; rate_control_rate_init(sta); + if (rx_nss != sta->sta.rx_nss) + drv_sta_rc_update(local, sdata, &sta->sta, + IEEE80211_RC_NSS_CHANGED); } rcu_read_unlock(); -- 1.9.1 -- 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