summaryrefslogtreecommitdiffstats
path: root/net/mac80211/rx.c
diff options
context:
space:
mode:
authorHenning Rogge <hrogge@gmail.com>2014-05-01 10:03:46 +0200
committerJohannes Berg <johannes.berg@intel.com>2014-05-05 14:52:03 +0200
commitf4ebddf9abb1fb0add1ce8e9c0bc414f1c17d81d (patch)
treebf0a99b6de91e29ab074818b0dfef4c4ad17226f /net/mac80211/rx.c
parent311ab8e1c28659e16a6fe14a68929c3ced4a5757 (diff)
downloadop-kernel-dev-f4ebddf9abb1fb0add1ce8e9c0bc414f1c17d81d.zip
op-kernel-dev-f4ebddf9abb1fb0add1ce8e9c0bc414f1c17d81d.tar.gz
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> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r--net/mac80211/rx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 216c45b..2b608b2 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1231,7 +1231,8 @@ ieee80211_rx_h_sta_process(struct ieee80211_rx_data *rx)
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;
OpenPOWER on IntegriCloud