> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of 
> Jedrzej
> Jagielski
> Sent: Wednesday, December 10, 2025 12:27
> To: [email protected]
> Cc: Nguyen, Anthony L <[email protected]>; [email protected];
> [email protected]; Jagielski, Jedrzej <[email protected]>;
> Loktionov, Aleksandr <[email protected]>; Kwapulinski, Piotr
> <[email protected]>; Paul Menzel <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-net v2] ixgbevf: fix link setup issue
> 
> It may happen that VF spawned for E610 adapter has problem with setting link 
> up.
> This happens when ixgbevf supporting mailbox API 1.6 cooperates with PF driver
> which doesn't support this version of API, and hence doesn't support new
> approach for getting PF link data.
> 
> In that case VF asks PF to provide link data but as PF doesn't support it, 
> returns -
> EOPNOTSUPP what leads to early bail from link configuration sequence.
> 
> Avoid such situation by using legacy VFLINKS approach whenever negotiated API
> version is less than 1.6.
> 
> To reproduce the issue just create VF and set its link up - adapter must be 
> any
> from the E610 family, ixgbevf must support API 1.6 or higher while ixgbevf 
> must
> not.
> 
> Fixes: 53f0eb62b4d2 ("ixgbevf: fix getting link speed data for E610 devices")
> Reviewed-by: Aleksandr Loktionov <[email protected]>
> Reviewed-by: Piotr Kwapulinski <[email protected]>
> Reviewed-by: Paul Menzel <[email protected]>
> Cc: [email protected]
> Signed-off-by: Jedrzej Jagielski <[email protected]>
> ---
> v2: extend the commit msg (Paul)
> ---
>  drivers/net/ethernet/intel/ixgbevf/vf.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/intel/ixgbevf/vf.c
> b/drivers/net/ethernet/intel/ixgbevf/vf.c
> index 29c5ce967938..8af88f615776 100644
> --- a/drivers/net/ethernet/intel/ixgbevf/vf.c
> +++ b/drivers/net/ethernet/intel/ixgbevf/vf.c
> @@ -846,7 +846,8 @@ static s32 ixgbevf_check_mac_link_vf(struct ixgbe_hw
> *hw,
>       if (!mac->get_link_status)
>               goto out;
> 
> -     if (hw->mac.type == ixgbe_mac_e610_vf) {
> +     if (hw->mac.type == ixgbe_mac_e610_vf &&
> +         hw->api_version >= ixgbe_mbox_api_16) {
>               ret_val = ixgbevf_get_pf_link_state(hw, speed, link_up);
>               if (ret_val)
>                       goto out;
> --
> 2.31.1

Tested-by: Rafal Romanowski <[email protected]>

Reply via email to