+++ /dev/null
---- a/net/mac80211/main.c
-+++ b/net/mac80211/main.c
-@@ -245,7 +245,9 @@ void ieee80211_bss_info_change_notify(st
- u32 changed)
- {
- struct ieee80211_local *local = sdata->local;
-+ struct ieee80211_supported_band *sband;
- static const u8 zero[ETH_ALEN] = { 0 };
-+ struct sta_info *sta;
-
- if (!changed)
- return;
-@@ -275,6 +277,22 @@ void ieee80211_bss_info_change_notify(st
-
- switch (sdata->vif.type) {
- case NL80211_IFTYPE_AP:
-+ if (!(changed & BSS_CHANGED_HT))
-+ break;
-+
-+ sband = local->hw.wiphy->bands[local->hw.conf.channel->band];
-+ rcu_read_lock();
-+ list_for_each_entry(sta, &local->sta_list, list) {
-+ if (sta->sdata != sdata &&
-+ (!sdata->bss || sta->sdata->bss != sdata->bss))
-+ continue;
-+
-+ rate_control_rate_update(local, sband, sta,
-+ IEEE80211_RC_HT_CHANGED,
-+ local->_oper_channel_type);
-+ }
-+ rcu_read_unlock();
-+ break;
- case NL80211_IFTYPE_ADHOC:
- case NL80211_IFTYPE_WDS:
- case NL80211_IFTYPE_MESH_POINT: