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
