| From 2b30a3d1ec2538a1fd363fde746b9fe1d38abc77 Mon Sep 17 00:00:00 2001 |
| From: Jiawen Wu <jiawenwu@trustnetic.com> |
| Date: Mon, 14 Jul 2025 09:56:56 +0800 |
| Subject: net: libwx: fix multicast packets received count |
| |
| From: Jiawen Wu <jiawenwu@trustnetic.com> |
| |
| 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 | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/net/ethernet/wangxun/libwx/wx_hw.c |
| +++ b/drivers/net/ethernet/wangxun/libwx/wx_hw.c |
| @@ -2523,6 +2523,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)); |
| } |