rtlwifi: Uses addr1 instead DA to determine broadcast and multicast addr.
authorPing-Ke Shih <pkshih@realtek.com>
Sun, 2 Jul 2017 18:12:36 +0000 (13:12 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 28 Jul 2017 15:16:37 +0000 (18:16 +0300)
We should check addr1 to indicate a packet as broadcast or multicast
in tx desc. An obvious example, a STA transmit an *unicast* ARP packet
where addr1 and DA are the addresses of AP and broadcast respectively.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Yan-Hsuan Chuang <yhchuang@realtek.com>
Cc: Birming Chiu <birming@realtek.com>
Cc: Shaofu <shaofu@realtek.com>
Cc: Steven Ting <steventing@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtlwifi/base.c

index 1231ca5..8b833e2 100644 (file)
@@ -1166,9 +1166,9 @@ void rtl_get_tcb_desc(struct ieee80211_hw *hw,
                        }
                }
 
-               if (is_multicast_ether_addr(ieee80211_get_DA(hdr)))
+               if (is_multicast_ether_addr(hdr->addr1))
                        tcb_desc->multicast = 1;
-               else if (is_broadcast_ether_addr(ieee80211_get_DA(hdr)))
+               else if (is_broadcast_ether_addr(hdr->addr1))
                        tcb_desc->broadcast = 1;
 
                _rtl_txrate_selectmode(hw, sta, tcb_desc);