[PATCH] net/ixgbe: fix VF link status for E610
Sandeep Penigalapati
sandeep.penigalapati at intel.com
Sun Sep 27 19:52:40 CEST 2026
E610 VFs report a wrong link speed (e.g. 10G while the PF is at 1G)
because the speed is decoded from the VFLINKS register, which E610 does
not use for VF link state.
Commit adbd71030575 ("net/ixgbe/base: fix link status for E610") added a
mailbox operation to fetch the link state from the PF and bumped the VF
mailbox API to 1.6, but the PMD never used it: ixgbevf_negotiate_api()
caps the API at 1.3 and ixgbevf_check_link() reads VFLINKS instead of the
base helper.
Negotiate the mailbox API up to 1.6 and query the PF for the link state
on E610 VFs. Other MAC types are unchanged.
Fixes: adbd71030575 ("net/ixgbe/base: fix link status for E610")
Cc: stable at dpdk.org
Signed-off-by: Sandeep Penigalapati <sandeep.penigalapati at intel.com>
---
drivers/net/intel/ixgbe/ixgbe_ethdev.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/net/intel/ixgbe/ixgbe_ethdev.c b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
index 284df77023..78e19f94c0 100644
--- a/drivers/net/intel/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
@@ -1470,6 +1470,9 @@ ixgbevf_negotiate_api(struct ixgbe_hw *hw)
/* start with highest supported, proceed down */
static const enum ixgbe_pfvf_api_rev sup_ver[] = {
+ ixgbe_mbox_api_16,
+ ixgbe_mbox_api_15,
+ ixgbe_mbox_api_14,
ixgbe_mbox_api_13,
ixgbe_mbox_api_12,
ixgbe_mbox_api_11,
@@ -4133,6 +4136,18 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
if (!mac->get_link_status)
goto out;
+ /* E610 VF reads link state from the PF over the mailbox */
+ if (hw->mac.type == ixgbe_mac_E610_vf) {
+ ret_val = ixgbevf_get_pf_link_state(hw, speed, link_up);
+ if (ret_val) {
+ *speed = IXGBE_LINK_SPEED_UNKNOWN;
+ mac->get_link_status = true;
+ } else {
+ mac->get_link_status = !(*link_up);
+ }
+ goto out;
+ }
+
/* if link status is down no point in checking to see if pf is up */
links_reg = IXGBE_READ_REG(hw, IXGBE_VFLINKS);
if (!(links_reg & IXGBE_LINKS_UP))
--
2.27.0
More information about the stable
mailing list