ixgbevf_negotiate_api() tries supported mailbox API versions from newest
to oldest. If all attempts fail, it continues without reporting the
failure, leaving the API version at its reset default. This makes mailbox
communication failures difficult to diagnose.
Warn when the version list is exhausted and include the error from the
final attempt. Do not warn about individual failed attempts, since a PF
rejecting a newer version before accepting an older one is expected.
This is a diagnostic improvement only; negotiation, fallback and recovery
behavior remain unchanged.
This is a diagnostic improvement only.
Signed-off-by: Aadityarangan Shridhar Iyengar <redacted>
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 7ce46b4b4821..76c9ac3ac69a 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -2344,6 +2344,10 @@ static void ixgbevf_negotiate_api(struct ixgbevf_adapter *adapter)
idx++;
}
+ if (api[idx] == ixgbe_mbox_api_unknown)
+ netdev_warn(adapter->netdev,
+ "Mailbox API negotiation with PF failed: %d\n", err);
+
ixgbevf_set_features(adapter);
if (adapter->pf_features & IXGBEVF_PF_SUP_ESX_MBX) {--
2.35.6