It may happen that VF spawned for E610 adapter has problem with setting link up. This happens when ixgbevf supporting mailbox API 1.6 coopearates 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.
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 Cc: stable@vger.kernel.org Signed-off-by: Jedrzej Jagielski jedrzej.jagielski@intel.com --- 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;
Dear Jedrzej,
Thank you for your patch.
Am 04.12.25 um 10:53 schrieb Jedrzej Jagielski:
It may happen that VF spawned for E610 adapter has problem with setting link up. This happens when ixgbevf supporting mailbox API 1.6 coopearates
cooperates
with PF driver which doesn't support this version of API, and hence doesn't support new approach for getting PF link data.
Which commit introduced the support for this API version?
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.
It’d be great, if you added how to exactly reproduce the issue.
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 Cc: stable@vger.kernel.org Signed-off-by: Jedrzej Jagielski jedrzej.jagielski@intel.com
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 &&
ret_val = ixgbevf_get_pf_link_state(hw, speed, link_up); if (ret_val) goto out;hw->api_version >= ixgbe_mbox_api_16) {
The diff looks good. With the improved commit message, feel free to add:
Reviewed-by: Paul Menzel pmenzel@molgen.mpg.de
Kind regards,
Paul
linux-stable-mirror@lists.linaro.org