diff options
Diffstat (limited to 'net/mac80211/ibss.c')
| -rw-r--r-- | net/mac80211/ibss.c | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index e2976da4e0d..e6f3b0c7a71 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -265,17 +265,16 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,  			sta->sta.supp_rates[band] = supp_rates |  				ieee80211_mandatory_rates(local, band); +			if (sta->sta.supp_rates[band] != prev_rates) {  #ifdef CONFIG_MAC80211_IBSS_DEBUG -			if (sta->sta.supp_rates[band] != prev_rates)  				printk(KERN_DEBUG "%s: updated supp_rates set " -				    "for %pM based on beacon info (0x%llx | " -				    "0x%llx -> 0x%llx)\n", -				    sdata->name, -				    sta->sta.addr, -				    (unsigned long long) prev_rates, -				    (unsigned long long) supp_rates, -				    (unsigned long long) sta->sta.supp_rates[band]); +				    "for %pM based on beacon/probe_response " +				    "(0x%x -> 0x%x)\n", +				    sdata->name, sta->sta.addr, +				    prev_rates, sta->sta.supp_rates[band]);  #endif +				rate_control_rate_init(sta); +			}  			rcu_read_unlock();  		} else {  			rcu_read_unlock(); @@ -371,6 +370,7 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,  		       sdata->name, mgmt->bssid);  #endif  		ieee80211_sta_join_ibss(sdata, bss); +		supp_rates = ieee80211_sta_get_rates(local, elems, band);  		ieee80211_ibss_add_sta(sdata, mgmt->bssid, mgmt->sa,  				       supp_rates, GFP_KERNEL);  	}  |