1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-07-07 20:59:50 +03:00
openwrt-xburst/package/mac80211/patches/521-mac80211_ht_change_rate_update.patch
nbd d349dd54e7 mac80211: update to wireless-testing 2011-05-27
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27071 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31 23:07:29 +00:00

36 lines
974 B
Diff

--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -239,7 +239,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;
@@ -269,6 +271,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: