diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-05-05 16:45:13 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-05-05 16:45:13 +0000 |
commit | e49f8f122c5a6d73d3cdb948b8419ae26d7b45d2 (patch) | |
tree | 9adc89d7455d65434c452e30e54b615bb33c9ffe /package | |
parent | d7f5ff48ed3a551efcd19062be57cd349bfe8490 (diff) | |
download | upstream-e49f8f122c5a6d73d3cdb948b8419ae26d7b45d2.tar.gz upstream-e49f8f122c5a6d73d3cdb948b8419ae26d7b45d2.tar.bz2 upstream-e49f8f122c5a6d73d3cdb948b8419ae26d7b45d2.zip |
mac80211: fix station info rx bitrate for IBSS mode
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40696 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r-- | package/kernel/mac80211/patches/300-pending_work.patch | 24 |
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 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 <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; |