Port representor statistics in switchdev mode are completely broken due
to two independent bugs:

1) ice_repr_ready_vf() has inverted logic — it returns "not ready" when
   the VF is actually ready, causing all ethtool and ndo_get_stats64
   callbacks to bail out early.

2) Even with the readiness check fixed, ice_update_vsi_stats() always
   returns early for VF VSIs because ICE_VSI_DOWN is permanently set.
   The stats counters are never updated from hardware.

Patch 1 fixes the inverted readiness check.
Patch 2 switches to ice_update_eth_stats() which reads the GLV_*
hardware counters directly, matching what ice_get_vf_stats() already
does for VF stats in legacy mode.

Petr Oros (2):
  ice: fix inverted ready check for VF representors
  ice: use ice_update_eth_stats() for representor stats

 drivers/net/ethernet/intel/ice/ice_ethtool.c | 14 +++++++++++---
 drivers/net/ethernet/intel/ice/ice_repr.c    |  5 +++--
 2 files changed, 14 insertions(+), 5 deletions(-)

--
2.52.0

Reply via email to