aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2014-12-21 08:25:28 -0500
committerJohannes Berg <johannes.berg@intel.com>2014-12-23 04:16:43 -0500
commit85b89af07d509531cbbb51adb9ec65f90f304473 (patch)
tree1a450b7da2cfab6f45037f4fd612150b072325aa /net
parent5875755c577b00b06aba77ba471175c3e3a33c25 (diff)
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)
862 (info->flags & IEEE80211_TX_STAT_NOACK_TRANSMITTED)) { 862 (info->flags & IEEE80211_TX_STAT_NOACK_TRANSMITTED)) {
863 if (ieee80211_is_first_frag(hdr->seq_ctrl)) { 863 if (ieee80211_is_first_frag(hdr->seq_ctrl)) {
864 local->dot11TransmittedFrameCount++; 864 local->dot11TransmittedFrameCount++;
865 if (is_multicast_ether_addr(hdr->addr1)) 865 if (is_multicast_ether_addr(ieee80211_get_DA(hdr)))
866 local->dot11MulticastTransmittedFrameCount++; 866 local->dot11MulticastTransmittedFrameCount++;
867 if (retry_count > 0) 867 if (retry_count > 0)
868 local->dot11RetryCount++; 868 local->dot11RetryCount++;