[PATCH rtw-next v2] realtek/rtlwifi: ensure unicast is reinitialized to false in each iteration
From: Les Boys
Date: Tue Nov 25 2025 - 03:35:01 EST
Previously, the unicast variable was only initialized once during the
function execution. Therefore, if unicast was set to true in the (n-1)th
iteration, it would affect the nth iteration. This patch resolves the issue
by reinitializing unicast to false at the start of each iteration.
CHANGE:
1. Fix indention
2. Use a better way recommanded by maintainer to solve original problem
3. Fix subject
4. Remove useless if and TODO comment
(added CC this time)
Signed-off-by: LBLaiSiNanHai <lesboyspp43@xxxxxxxxxxx>
---
drivers/net/wireless/realtek/rtlwifi/pci.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
index fe7140328..a07de6b57 100644
--- a/drivers/net/wireless/realtek/rtlwifi/pci.c
+++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
@@ -752,16 +752,13 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
memcpy(IEEE80211_SKB_RXCB(skb), &rx_status,
sizeof(rx_status));
- unicast = false;
-
- if (is_broadcast_ether_addr(hdr->addr1)) {
- ;/*TODO*/
- } else if (is_multicast_ether_addr(hdr->addr1)) {
- ;/*TODO*/
- } else {
+ if (is_unicast_ether_addr(hdr->addr1)) {
unicast = true;
rtlpriv->stats.rxbytesunicast += skb->len;
+ } else {
+ unicast = false;
}
+
rtl_is_special_data(hw, skb, false, true);
if (ieee80211_is_data(fc)) {
--
2.44.0