summaryrefslogtreecommitdiff
path: root/package/kernel/mac80211
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-05-05 16:45:13 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-05-05 16:45:13 +0000
commitb0e436e10ced510f30e0a059c90fa21bc444ab13 (patch)
tree14531dd931bfbf1f8da8a14540dcbf52d62de98d /package/kernel/mac80211
parentb4d93a52cfdc75fde4e56979f6749977197effca (diff)
downloadmtk-20170518-b0e436e10ced510f30e0a059c90fa21bc444ab13.zip
mtk-20170518-b0e436e10ced510f30e0a059c90fa21bc444ab13.tar.gz
mtk-20170518-b0e436e10ced510f30e0a059c90fa21bc444ab13.tar.bz2
mac80211: fix station info rx bitrate for IBSS mode
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 40696
Diffstat (limited to 'package/kernel/mac80211')
-rw-r--r--package/kernel/mac80211/patches/300-pending_work.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch
index 892f51e..ce19e7d 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 <hrogge@gmail.com>
+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 <hrogge@gmail.com>
+
commit 4c8a3486cb577d40c1ef75f0a8dc9a04773eef83
Author: Nickolay Ledovskikh <nledovskikh@gmail.com>
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;