]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ixgbevf: fix link setup issue
authorJedrzej Jagielski <jedrzej.jagielski@intel.com>
Wed, 10 Dec 2025 11:26:51 +0000 (12:26 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 25 Feb 2026 19:43:57 +0000 (11:43 -0800)
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 <aleksandr.loktionov@intel.com>
Reviewed-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Cc: stable@vger.kernel.org
Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ixgbevf/vf.c

index 74d320879513c02f1f154e158da265d76fd052ad..b67b580f7f1c9592624f84e9514f8ca831a1800c 100644 (file)
@@ -852,7 +852,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;