On Tue, Dec 8, 2015 at 9:12 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Tue, 2015-12-08 at 21:08 +0530, Krishna Chaitanya wrote: >> >> > void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data >> > *sdata, >> > struct sta_info *sta, u8 opmode, >> > - enum ieee80211_band band, bool >> > nss_only) >> > + enum ieee80211_band band) >> > { >> > struct ieee80211_local *local = sdata->local; >> > struct ieee80211_supported_band *sband = local->hw.wiphy- >> > >bands[band]; >> > >> > - u32 changed = __ieee80211_vht_handle_opmode(sdata, sta, >> > opmode, >> > - band, >> > nss_only); >> > + u32 changed = __ieee80211_vht_handle_opmode(sdata, sta, >> > opmode, band); >> > >> > if (changed > 0) >> > rate_control_rate_update(local, sband, sta, >> > changed); >> >> Not related to current change. >> >> I was looking at this code a while ago and found that >> rate_control_rate_update >> doesn't update the rates from rx_nss, rather it updates from HT/VHT >> capabilities. >> >> So how does the NSS update from OP MODE IE work? >> > > Huh? You just quoted the code that does this? MLME is updating the rx_nss. > If the rate control algorithm doesn't look at sta->sta.rx_nss then > that's their bug. Yes, it looks like it. Only BW is handled, not the NSS change, and without this patch OP MODE IE in beacon updates neither NSS nor BW. For Action frame OP MODE IE, NSS will be updated. -- 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