RE: [PATCH rtw-next v2] realtek/rtlwifi: ensure unicast is reinitialized to false in each iteration
From: Ping-Ke Shih
Date: Tue Nov 25 2025 - 04:03:26 EST
Les Boys <lesboyspp43@xxxxxxxxxxx> wrote:
> 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>
This should be your real name which is identical to From field
(I have mentioned this in v1).
---
Move your CHANGE here with three '-' as delimiter
> ---
> 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;
This is your change in v1, please use upstream as base.
Also, you missed to remove initializer of `unicast` in original code.
More, check status of your patch in patchwork [1].
[1] https://patchwork.kernel.org/project/linux-wireless/patch/SA2PR10MB4460861A8224AA99EE5ACF6BA6D1A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
> -
> - 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