aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ibss.c
diff options
context:
space:
mode:
authorBruno Randolf <br1@einfach.org>2010-02-23 04:51:13 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-03-09 15:03:06 -0500
commitb4d59a9317e41faec3d0b6a03f0454d1e8abb710 (patch)
tree558194e7107c5e7ed8dc3bc160cf516685528ba2 /net/mac80211/ibss.c
parent6f6b5d49105eba1be0b2ef0c04a4571f20793778 (diff)
mac80211: fix rates setup on IBSS merge
when an IBSS merge happened, the supported rates for the newly added station were left empty, causing the rate control module to be initialized with only the basic rates. also the section of the ibss code which deals with updating supported rates for an already existing station fails to inform the rate control module about the new rates. as i don't know how to fix this (minstrel does not have an update function), i have just added a comment for now. Signed-off-by: Bruno Randolf <br1@einfach.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ibss.c')
-rw-r--r--net/mac80211/ibss.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index f3e942486749..b840d9072de9 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -276,6 +276,8 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
276 (unsigned long long) sta->sta.supp_rates[band]); 276 (unsigned long long) sta->sta.supp_rates[band]);
277#endif 277#endif
278 rcu_read_unlock(); 278 rcu_read_unlock();
279
280 /* FIXME: update rate control */
279 } else { 281 } else {
280 rcu_read_unlock(); 282 rcu_read_unlock();
281 ieee80211_ibss_add_sta(sdata, mgmt->bssid, mgmt->sa, 283 ieee80211_ibss_add_sta(sdata, mgmt->bssid, mgmt->sa,
@@ -370,6 +372,7 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
370 sdata->name, mgmt->bssid); 372 sdata->name, mgmt->bssid);
371#endif 373#endif
372 ieee80211_sta_join_ibss(sdata, bss); 374 ieee80211_sta_join_ibss(sdata, bss);
375 supp_rates = ieee80211_sta_get_rates(local, elems, band);
373 ieee80211_ibss_add_sta(sdata, mgmt->bssid, mgmt->sa, 376 ieee80211_ibss_add_sta(sdata, mgmt->bssid, mgmt->sa,
374 supp_rates, GFP_KERNEL); 377 supp_rates, GFP_KERNEL);
375 } 378 }