[Intel-wired-lan] [PATCH iwl-net 1/2] ice: fix inverted ready check for VF representors

Loktionov, Aleksandr aleksandr.loktionov at intel.com
Thu Feb 12 08:24:11 UTC 2026



> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf
> Of Petr Oros
> Sent: Thursday, February 12, 2026 8:53 AM
> To: netdev at vger.kernel.org
> Cc: Drewek, Wojciech <wojciech.drewek at intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel at intel.com>; Eric Dumazet <edumazet at google.com>;
> linux-kernel at vger.kernel.org; Andrew Lunn <andrew+netdev at lunn.ch>;
> Nguyen, Anthony L <anthony.l.nguyen at intel.com>; Simon Horman
> <horms at kernel.org>; Michal Swiatkowski
> <michal.swiatkowski at linux.intel.com>; Jakub Kicinski
> <kuba at kernel.org>; Paolo Abeni <pabeni at redhat.com>; David S. Miller
> <davem at davemloft.net>; intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH iwl-net 1/2] ice: fix inverted ready
> check for VF representors
> 
> Commit 0f00a897c9fcbd ("ice: check if SF is ready in ethtool ops")
> refactored the VF readiness check into a generic repr->ops.ready()
> callback but implemented ice_repr_ready_vf() with inverted logic:
> 
>   return !ice_check_vf_ready_for_cfg(repr->vf);
> 
> ice_check_vf_ready_for_cfg() returns 0 on success, so the negation
> makes ready() return non-zero when the VF is ready. All callers treat
> non-zero as "not ready, skip", causing ndo_get_stats64, get_drvinfo,
> get_strings and get_ethtool_stats to always bail out in switchdev
> mode.
> 
> Remove the erroneous negation. The SF variant ice_repr_ready_sf() is
> already correct (returns !active, i.e. non-zero when not active).
> 
> Fixes: 0f00a897c9fcbd ("ice: check if SF is ready in ethtool ops")
> Signed-off-by: Petr Oros <poros at redhat.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_repr.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_repr.c
> b/drivers/net/ethernet/intel/ice/ice_repr.c
> index cb08746556a670..2a84f656405828 100644
> --- a/drivers/net/ethernet/intel/ice/ice_repr.c
> +++ b/drivers/net/ethernet/intel/ice/ice_repr.c
> @@ -315,7 +315,7 @@ ice_repr_reg_netdev(struct net_device *netdev,
> const struct net_device_ops *ops)
> 
>  static int ice_repr_ready_vf(struct ice_repr *repr)  {
> -	return !ice_check_vf_ready_for_cfg(repr->vf);
> +	return ice_check_vf_ready_for_cfg(repr->vf);
>  }
> 
>  static int ice_repr_ready_sf(struct ice_repr *repr)
> --
> 2.52.0

Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov at intel.com>


More information about the Intel-wired-lan mailing list