summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2014-12-21 15:25:28 +0200
committerJohannes Berg <johannes.berg@intel.com>2014-12-23 10:16:43 +0100
commit85b89af07d509531cbbb51adb9ec65f90f304473 (patch)
tree1a450b7da2cfab6f45037f4fd612150b072325aa /net
parent5875755c577b00b06aba77ba471175c3e3a33c25 (diff)
downloadlinux-85b89af07d509531cbbb51adb9ec65f90f304473.tar.bz2
mac80211: fix dot11MulticastTransmittedFrameCount tested address
dot11MulticastTransmittedFrameCount should be updated according to the DA, which might be different from A1. Checking A1 results in the counter being 0 in case of station, as to-DS data frames use A1 for the BSSID. This behaviour is defined in state machines, specifically in the sta_tx_dcf_3.1d(10) description of 802.11-2012. Signed-off-by: Eliad Peller <eliad@wizery.com> [rewrite commit message] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/status.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c
index d64037c96729..7d4e9307164c 100644
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
@@ -862,7 +862,7 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
(info->flags & IEEE80211_TX_STAT_NOACK_TRANSMITTED)) {
if (ieee80211_is_first_frag(hdr->seq_ctrl)) {
local->dot11TransmittedFrameCount++;
- if (is_multicast_ether_addr(hdr->addr1))
+ if (is_multicast_ether_addr(ieee80211_get_DA(hdr)))
local->dot11MulticastTransmittedFrameCount++;
if (retry_count > 0)
local->dot11RetryCount++;