]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: libwx: Fix statistics of multicast packets
authorJiawen Wu <jiawenwu@trustnetic.com>
Fri, 23 May 2025 08:04:37 +0000 (16:04 +0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 28 May 2025 01:17:11 +0000 (18:17 -0700)
When SR-IOV is enabled, the number of multicast packets is mistakenly
counted starting from queue 0. It would be a wrong count that includes
the packets received on VF. Fix it to count from the correct offset.

Fixes: c52d4b898901 ("net: libwx: Redesign flow when sriov is enabled")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/F70910CFE86C1F6F+20250523080438.27968-1-jiawenwu@trustnetic.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/wangxun/libwx/wx_hw.c

index c6744a363e978f0c0e4a8efa58cca68b77aa38d3..0f4be72116b8e3015086e234db894adf21ba8eef 100644 (file)
@@ -2778,7 +2778,8 @@ void wx_update_stats(struct wx *wx)
                hwstats->fdirmiss += rd32(wx, WX_RDB_FDIR_MISS);
        }
 
-       for (i = 0; i < wx->mac.max_rx_queues; i++)
+       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));
 }
 EXPORT_SYMBOL(wx_update_stats);