mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 06:49:29 -04:00
eth: fbnic: Lock the tx_dropped update
Wrap copying of drop stats on TX path from fbd->hw_stats by the
hw_stats_lock. Currently, it is being performed outside the lock and
another thread accessing fbd->hw_stats can lead to inconsistencies.
Fixes: 5f8bd2ce82 ("eth: fbnic: add support for TMI stats")
Signed-off-by: Mohsin Bashir <mohsin.bashr@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250802024636.679317-3-mohsin.bashr@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
2972395d8f
commit
53abd9c86f
@@ -423,10 +423,12 @@ static void fbnic_get_stats64(struct net_device *dev,
|
||||
tx_dropped = stats->dropped;
|
||||
|
||||
/* Record drops from Tx HW Datapath */
|
||||
spin_lock(&fbd->hw_stats_lock);
|
||||
tx_dropped += fbd->hw_stats.tmi.drop.frames.value +
|
||||
fbd->hw_stats.tti.cm_drop.frames.value +
|
||||
fbd->hw_stats.tti.frame_drop.frames.value +
|
||||
fbd->hw_stats.tti.tbi_drop.frames.value;
|
||||
spin_unlock(&fbd->hw_stats_lock);
|
||||
|
||||
stats64->tx_bytes = tx_bytes;
|
||||
stats64->tx_packets = tx_packets;
|
||||
|
||||
Reference in New Issue
Block a user