[PATCH Linux-6.8-rc5 1/1] ixgbevf: start negotiate with api version 1.4

From: Yifei Liu
Date: Fri Mar 01 2024 - 19:02:01 EST


ixgbevf updates to api version to 1.5 via
commit 339f28964147d ("ixgbevf: Add support for new mailbox
communication between PF and VF")
while the pf side is not updated to 1.5 properly. It will lead to a
failure of negotiation of api version 1.5 This commit will enforce
the negotiation to start with 1.4 which is working fine.

Normally the pf and vf side should be updated together. Example:
commit adef9a26d6c39 ("ixgbevf: add defines for IPsec offload request")
commit 7269824046376 ("ixgbe: add VF IPsec offload request message handling")


Reported-by: Manjunatha Gowda <manjunatha.gowda@xxxxxxxxxx>
Signed-off-by: Yifei Liu <yifei.l.liu@xxxxxxxxxx>
Reviewed-by: Jack Vogel <jack.vogel@xxxxxxxxxx>
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index a44e4bd56142..a1b9b789d1d4 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -2286,6 +2286,12 @@ static void ixgbevf_negotiate_api(struct ixgbevf_adapter *adapter)

spin_lock_bh(&adapter->mbx_lock);

+ /* There is no corresponding drivers in pf for
+ * api version 1.5. Try to negociate with version
+ * 1.5 will always fail. Start to negociate with
+ * version 1.4.
+ */
+ idx = 1;
while (api[idx] != ixgbe_mbox_api_unknown) {
err = hw->mac.ops.negotiate_api_version(hw, api[idx]);
if (!err)
--
2.42.0