]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: libwx: fix multicast packets received count
authorJiawen Wu <jiawenwu@trustnetic.com>
Mon, 14 Jul 2025 01:56:56 +0000 (09:56 +0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 16 Jul 2025 00:29:54 +0000 (17:29 -0700)
Multicast good packets received by PF rings that pass ethternet MAC
address filtering are counted for rtnl_link_stats64.multicast. The
counter is not cleared on read. Fix the duplicate counting on updating
statistics.

Fixes: 46b92e10d631 ("net: libwx: support hardware statistics")
Cc: stable@vger.kernel.org
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/DA229A4F58B70E51+20250714015656.91772-1-jiawenwu@trustnetic.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/wangxun/libwx/wx_hw.c

index 4cce07a69891d95e85b2c23d3d07346ea32bd23d..f0823aa1ede607f9ec276d43e58436b71ea7f25e 100644 (file)
@@ -2777,6 +2777,8 @@ void wx_update_stats(struct wx *wx)
                hwstats->fdirmiss += rd32(wx, WX_RDB_FDIR_MISS);
        }
 
+       /* qmprc is not cleared on read, manual reset it */
+       hwstats->qmprc = 0;
        for (i = wx->num_vfs * wx->num_rx_queues_per_pool;
             i < wx->mac.max_rx_queues; i++)
                hwstats->qmprc += rd32(wx, WX_PX_MPRC(i));