On October 2, 2026 3:07:52 PM GMT+02:00, Petr Oros <[email protected]> wrote: >tx_restart, tx_busy, rx_buf_failed and rx_page_failed in struct ice_vsi >are u32, but ice_update_vsi_ring_stats() fills them with sums of the >64-bit per ring counters. The values are truncated and the ethtool >statistics exported from them wrap at 2^32 while the ring counters keep >counting. > >Make them u64 like tx_linearize next to them. > >i40e fixed the same truncation in commit 3b8428b84539 ("i40e: fix >unsigned stat widths"). > >Fixes: fcea6f3da546 ("ice: Add stats and ethtool support") >Assisted-by: LLM >Signed-off-by: Petr Oros <[email protected]> >--- > drivers/net/ethernet/intel/ice/ice.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > >diff --git a/drivers/net/ethernet/intel/ice/ice.h >b/drivers/net/ethernet/intel/ice/ice.h >index 6c596e5a315175..a985b81efbe2d6 100644 >--- a/drivers/net/ethernet/intel/ice/ice.h >+++ b/drivers/net/ethernet/intel/ice/ice.h >@@ -344,10 +344,10 @@ struct ice_vsi { > u64 tx_linearize; > DECLARE_BITMAP(state, ICE_VSI_STATE_NBITS); > unsigned int current_netdev_flags; >- u32 tx_restart; >- u32 tx_busy; >- u32 rx_buf_failed; >- u32 rx_page_failed; >+ u64 tx_restart; >+ u64 tx_busy; >+ u64 rx_buf_failed; >+ u64 rx_page_failed; > u16 num_q_vectors; > /* tell if only dynamic irq allocation is allowed */ > bool irq_dyn_alloc;
Reviewed-by: Ivan Vecera <[email protected]>
