| From 3b8428b84539c78fdc8006c17ebd25afd4722d51 Mon Sep 17 00:00:00 2001 |
| From: Joe Damato <jdamato@fastly.com> |
| Date: Wed, 8 Dec 2021 17:56:33 -0800 |
| Subject: i40e: fix unsigned stat widths |
| |
| From: Joe Damato <jdamato@fastly.com> |
| |
| commit 3b8428b84539c78fdc8006c17ebd25afd4722d51 upstream. |
| |
| Change i40e_update_vsi_stats and struct i40e_vsi to use u64 fields to match |
| the width of the stats counters in struct i40e_rx_queue_stats. |
| |
| Update debugfs code to use the correct format specifier for u64. |
| |
| Fixes: 41c445ff0f48 ("i40e: main driver core") |
| Signed-off-by: Joe Damato <jdamato@fastly.com> |
| Reported-by: kernel test robot <lkp@intel.com> |
| Tested-by: Gurucharan G <gurucharanx.g@intel.com> |
| Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/intel/i40e/i40e.h | 8 ++++---- |
| drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 2 +- |
| drivers/net/ethernet/intel/i40e/i40e_main.c | 4 ++-- |
| 3 files changed, 7 insertions(+), 7 deletions(-) |
| |
| --- a/drivers/net/ethernet/intel/i40e/i40e.h |
| +++ b/drivers/net/ethernet/intel/i40e/i40e.h |
| @@ -847,12 +847,12 @@ struct i40e_vsi { |
| struct rtnl_link_stats64 net_stats_offsets; |
| struct i40e_eth_stats eth_stats; |
| struct i40e_eth_stats eth_stats_offsets; |
| - u32 tx_restart; |
| - u32 tx_busy; |
| + u64 tx_restart; |
| + u64 tx_busy; |
| u64 tx_linearize; |
| u64 tx_force_wb; |
| - u32 rx_buf_failed; |
| - u32 rx_page_failed; |
| + u64 rx_buf_failed; |
| + u64 rx_page_failed; |
| |
| /* These are containers of ring pointers, allocated at run-time */ |
| struct i40e_ring **rx_rings; |
| --- a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c |
| +++ b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c |
| @@ -240,7 +240,7 @@ static void i40e_dbg_dump_vsi_seid(struc |
| (unsigned long int)vsi->net_stats_offsets.rx_compressed, |
| (unsigned long int)vsi->net_stats_offsets.tx_compressed); |
| dev_info(&pf->pdev->dev, |
| - " tx_restart = %d, tx_busy = %d, rx_buf_failed = %d, rx_page_failed = %d\n", |
| + " tx_restart = %llu, tx_busy = %llu, rx_buf_failed = %llu, rx_page_failed = %llu\n", |
| vsi->tx_restart, vsi->tx_busy, |
| vsi->rx_buf_failed, vsi->rx_page_failed); |
| rcu_read_lock(); |
| --- a/drivers/net/ethernet/intel/i40e/i40e_main.c |
| +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c |
| @@ -778,9 +778,9 @@ static void i40e_update_vsi_stats(struct |
| struct rtnl_link_stats64 *ns; /* netdev stats */ |
| struct i40e_eth_stats *oes; |
| struct i40e_eth_stats *es; /* device's eth stats */ |
| - u32 tx_restart, tx_busy; |
| + u64 tx_restart, tx_busy; |
| struct i40e_ring *p; |
| - u32 rx_page, rx_buf; |
| + u64 rx_page, rx_buf; |
| u64 bytes, packets; |
| unsigned int start; |
| u64 tx_linearize; |