On Wed, Jul 9, 2025 7:30 PM, Simon Horman wrote:
On Wed, Jul 09, 2025 at 02:35:12PM +0800, Jiawen Wu wrote:
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
drivers/net/ethernet/wangxun/libwx/wx_hw.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/wangxun/libwx/wx_hw.c b/drivers/net/ethernet/wangxun/libwx/wx_hw.c index 0f4be72116b8..a9519997286b 100644 --- a/drivers/net/ethernet/wangxun/libwx/wx_hw.c +++ b/drivers/net/ethernet/wangxun/libwx/wx_hw.c @@ -2778,6 +2778,7 @@ void wx_update_stats(struct wx *wx) hwstats->fdirmiss += rd32(wx, WX_RDB_FDIR_MISS); }
- 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));
Sorry if I am being dense, but I have a question:
The treatment of qmprc prior to this patch seems consistent with other members of hwstats. What makes qmprc special?
The other members are read from CAB registers, and they are cleaned on read. 'qmprc' is read from BAR register, it is designed not to be cleared on read.