diff mbox

mac80211: fix off-by-one regression in ibss beacon generation

Message ID 1373567389-6287-1-git-send-email-siwu@hrz.tu-chemnitz.de (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Simon Wunderlich July 11, 2013, 6:29 p.m. UTC
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>
---
I obviously missed that, sorry. :( This was not visible in 5/10 MHz as
CCK rates are missing in this mode. You might want to squash this one
...
---
 net/mac80211/ibss.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Johannes Berg July 12, 2013, 11:59 a.m. UTC | #1
On Thu, 2013-07-11 at 20:29 +0200, Simon Wunderlich wrote:
> 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".

Applied.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 83197c3..5e6836c 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) {