]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Jul 2025 06:56:37 +0000 (08:56 +0200)
commit 2b30a3d1ec2538a1fd363fde746b9fe1d38abc77 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/wangxun/libwx/wx_hw.c

index 778feee6c6f377c9100649cce4d739b4887e4387..e79220cb725b09329c9d1340189132f98cad8cbc 100644 (file)
@@ -2355,6 +2355,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 = 0; i < wx->mac.max_rx_queues; i++)
                hwstats->qmprc += rd32(wx, WX_PX_MPRC(i));
 }