> -----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]>
