From b0e436e10ced510f30e0a059c90fa21bc444ab13 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 5 May 2014 16:45:13 +0000 Subject: [PATCH] mac80211: fix station info rx bitrate for IBSS mode Signed-off-by: Felix Fietkau SVN-Revision: 40696 --- .../mac80211/patches/300-pending_work.patch | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch index 892f51e8a6..ce19e7db5f 100644 --- a/package/kernel/mac80211/patches/300-pending_work.patch +++ b/package/kernel/mac80211/patches/300-pending_work.patch @@ -1,3 +1,15 @@ +commit 92e9dd662542683856e62a5e7e43fcf5b9da5c4a +Author: Henning Rogge +Date: Thu May 1 10:03:46 2014 +0200 + + mac80211: Fix mac80211 station info rx bitrate for IBSS mode + + Filter out incoming multicast packages before applying their bitrate + to the rx bitrate station info field to prevent them from setting the + rx bitrate to the basic multicast rate. + + Signed-off-by: Henning Rogge + commit 4c8a3486cb577d40c1ef75f0a8dc9a04773eef83 Author: Nickolay Ledovskikh Date: Fri Apr 25 22:53:34 2014 +0400 @@ -541,3 +553,15 @@ Date: Sun Apr 6 23:35:28 2014 +0200 } return 0; +--- a/net/mac80211/rx.c ++++ b/net/mac80211/rx.c +@@ -1231,7 +1231,8 @@ ieee80211_rx_h_sta_process(struct ieee80 + if (ether_addr_equal(bssid, rx->sdata->u.ibss.bssid) && + test_sta_flag(sta, WLAN_STA_AUTHORIZED)) { + sta->last_rx = jiffies; +- if (ieee80211_is_data(hdr->frame_control)) { ++ if (ieee80211_is_data(hdr->frame_control) && ++ !is_multicast_ether_addr(hdr->addr1)) { + sta->last_rx_rate_idx = status->rate_idx; + sta->last_rx_rate_flag = status->flag; + sta->last_rx_rate_vht_flag = status->vht_flag; -- 2.30.2