summaryrefslogtreecommitdiff
path: root/net/mac80211/ibss.c
diff options
context:
space:
mode:
authorSimon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>2013-07-11 20:29:49 +0200
committerJohannes Berg <johannes.berg@intel.com>2013-07-16 09:58:13 +0300
commit93c75786e8d8e8e245a479209a84b19292d08e7e (patch)
tree11a57a2b41aa1d784f101547fd668e99ec308ddc /net/mac80211/ibss.c
parent2ec9c1f67ab1f58b5bf5ac19e4b61b9f75c83a04 (diff)
mac80211: fix off-by-one regression in ibss beacon generation
There is an off-by-one error in the beacon generation for the ibss mode, falsely a rate the extended supported rates which was already added to supported rates, messing up the beacon. This was introduced by commit "mac80211: select and adjust bitrates according to channel mode". Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ibss.c')
-rw-r--r--net/mac80211/ibss.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 83197c3ae5f1..5e6836c3aa4c 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -168,8 +168,10 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
if (basic_rates & BIT(ri))
basic = 0x80;
*pos++ = basic | (u8) rate;
- if (++rates_added == 8)
+ if (++rates_added == 8) {
+ ri++; /* continue at next rate for EXT_SUPP_RATES */
break;
+ }
}
if (sband->band == IEEE80211_BAND_2GHZ) {