diff mbox series

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

Message ID 20240301235837.3741422-1-yifei.l.liu@oracle.com
State Needs Review / ACK
Headers show
Series [Linux-6.8-rc5,1/1] ixgbevf: start negotiate with api version 1.4 | expand

Commit Message

Yifei Liu March 1, 2024, 11:58 p.m. UTC
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@oracle.com>
Signed-off-by: Yifei Liu <yifei.l.liu@oracle.com>
Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
---
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Paul Menzel March 2, 2024, 8:19 a.m. UTC | #1
Dear Yifei,


Thank you very much for your patch.

Am 02.03.24 um 00:58 schrieb Yifei Liu:
> 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")

Why can’t the PF side not be updated to version 1.5 too?

If you don’t mind, I’d format the commit message like below.

Commit 339f28964147d ("ixgbevf: Add support for new mailbox communication
between PF and VF") updates the driver ixgbevf to API version 1.5 while the
pf side is not updated to 1.5 properly. This leads to a negotiation failure
of api version 1.5. So, enforce the negotiation to start with 1.4 which is
working fine.

Normally the pf and vf side should be updated together. Example:

1.  commit adef9a26d6c39 ("ixgbevf: add defines for IPsec offload request")
2.  commit 7269824046376 ("ixgbe: add VF IPsec offload request message 
handling")

> Reported-by: Manjunatha Gowda <manjunatha.gowda@oracle.com>
> Signed-off-by: Yifei Liu <yifei.l.liu@oracle.com>
> Reviewed-by: Jack Vogel <jack.vogel@oracle.com>

Please add a Fixes: tag.

Fixes: 39f28964147d ("ixgbevf: Add support for new mailbox communication 
between PF and VF")

Unfortunately, I am unable to find this commit hash. What archive/tree 
is it from?

> ---
>   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

negotiate

> +	 * 1.5 will always fail. Start to negociate with
> +	 * version 1.4.

Could you please use the fully allowed line length, so less lines are used?

> +	 */
> +	idx = 1; >   	while (api[idx] != ixgbe_mbox_api_unknown) {
>   		err = hw->mac.ops.negotiate_api_version(hw, api[idx]);
>   		if (!err)

Where is `idx` set before?

Unrelated to the problem at hand, but enums or macros should be used for 
the API version.


Kind regards,

Paul
Yifei Liu March 4, 2024, 9:48 p.m. UTC | #2
Hi Paul
Thank you for your replay. Please see inline.

From: Paul Menzel <pmenzel@molgen.mpg.de>
Date: Saturday, March 2, 2024 at 12:20 AM
To: Yifei Liu <yifei.l.liu@oracle.com>
Cc: jesse.brandeburg@intel.com <jesse.brandeburg@intel.com>, anthony.l.nguyen@intel.com <anthony.l.nguyen@intel.com>, davem@davemloft.net <davem@davemloft.net>, edumazet@google.com <edumazet@google.com>, kuba@kernel.org <kuba@kernel.org>, pabeni@redhat.com <pabeni@redhat.com>, lihong.yang@intel.com <lihong.yang@intel.com>, Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>, linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>, intel-wired-lan@lists.osuosl.org <intel-wired-lan@lists.osuosl.org>, Jack Vogel <jack.vogel@oracle.com>, netdev@vger.kernel.org <netdev@vger.kernel.org>, Ramanan Govindarajan <ramanan.govindarajan@oracle.com>
Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf: start negotiate with api version 1.4
Dear Yifei,


Thank you very much for your patch.

Am 02.03.24 um 00:58 schrieb Yifei Liu:
> 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")

Why can’t the PF side not be updated to version 1.5 too?


I tried to add the new api version to the switch in pf side. However, that would lead to another issue. Function ixgbe_read_mbx_pf() returns an error code -100, which should be IXGBE_ERR_MBX. The root cause of this is function ixgbe_obtain_mbx_lock_pf returns that error code. It is likely to be a hardware issue communicating with the Ethernet card (IXGBE_READ_REG returns a failure)

If you don’t mind, I’d format the commit message like below.


Sure thanks

Commit 339f28964147d ("ixgbevf: Add support for new mailbox communication
between PF and VF") updates the driver ixgbevf to API version 1.5 while the
pf side is not updated to 1.5 properly. This leads to a negotiation failure
of api version 1.5. So, enforce the negotiation to start with 1.4 which is
working fine.

Normally the pf and vf side should be updated together. Example:

1.  commit adef9a26d6c39 ("ixgbevf: add defines for IPsec offload request")
2.  commit 7269824046376 ("ixgbe: add VF IPsec offload request message
handling")

> Reported-by: Manjunatha Gowda <manjunatha.gowda@oracle.com>
> Signed-off-by: Yifei Liu <yifei.l.liu@oracle.com>
> Reviewed-by: Jack Vogel <jack.vogel@oracle.com>

Please add a Fixes: tag.

Fixes: 39f28964147d ("ixgbevf: Add support for new mailbox communication
between PF and VF")


Sure. Do I need to resend the patch with the fixes tag and new commit message?

Unfortunately, I am unable to find this commit hash. What archive/tree
is it from?

The commit message is 339f28964147d. It seems you missed the one of the double 3 at the very beginning. It is in linux-stable from Linux 5.17.y

> ---
>   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

negotiate

> +      * 1.5 will always fail. Start to negociate with
> +      * version 1.4.

Could you please use the fully allowed line length, so less lines are used?

> +      */
> +     idx = 1; >       while (api[idx] != ixgbe_mbox_api_unknown) {
>                err = hw->mac.ops.negotiate_api_version(hw, api[idx]);
>                if (!err)

Where is `idx` set before?

idx was 0 before in line 2285.
int err, idx = 0;

Unrelated to the problem at hand, but enums or macros should be used for
the API version.

I agree. But for this case, there is an integer array defined before with a reversed sequence of the api version enum. (the desired attempt sequence is from newest to oldest) It may be more readable to use index of the api array. (e.g. api[0] means ixgbe_mbox_api_15, which is enum 6)
FYI, the api array starting from line 2276 in /drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
                static const int api[] = {
                                ixgbe_mbox_api_15,
                                ixgbe_mbox_api_14,
                                ixgbe_mbox_api_13,
                                ixgbe_mbox_api_12,
                                ixgbe_mbox_api_11,
                                ixgbe_mbox_api_10,
                                ixgbe_mbox_api_unknown
                };


Kind regards,

Paul

Thank you again.
Yifei
Yifei Liu March 5, 2024, 1:20 a.m. UTC | #3
Hi Paul,
I apologize for possible html text in the previous email. I cleared the format and resend them as plain text.
Thank you.
Yifei

From: Yifei Liu <yifei.l.liu@oracle.com>
Sent: Monday, March 4, 2024 1:48 PM
To: Paul Menzel <pmenzel@molgen.mpg.de>
Cc: jesse.brandeburg@intel.com <jesse.brandeburg@intel.com>; anthony.l.nguyen@intel.com <anthony.l.nguyen@intel.com>; davem@davemloft.net <davem@davemloft.net>; edumazet@google.com <edumazet@google.com>; kuba@kernel.org <kuba@kernel.org>; pabeni@redhat.com <pabeni@redhat.com>; lihong.yang@intel.com <lihong.yang@intel.com>; Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; intel-wired-lan@lists.osuosl.org <intel-wired-lan@lists.osuosl.org>; Jack Vogel <jack.vogel@oracle.com>; netdev@vger.kernel.org <netdev@vger.kernel.org>; Ramanan Govindarajan <ramanan.govindarajan@oracle.com>
Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf: start negotiate with api version 1.4

Hi Paul
Thank you for your replay. Please see inline.

From: Paul Menzel <pmenzel@molgen.mpg.de>
Date: Saturday, March 2, 2024 at 12:20 AM
To: Yifei Liu <yifei.l.liu@oracle.com>
Cc: jesse.brandeburg@intel.com <jesse.brandeburg@intel.com>, anthony.l.nguyen@intel.com <anthony.l.nguyen@intel.com>, davem@davemloft.net <davem@davemloft.net>, edumazet@google.com <edumazet@google.com>, kuba@kernel.org <kuba@kernel.org>, pabeni@redhat.com <pabeni@redhat.com>, lihong.yang@intel.com <lihong.yang@intel.com>, Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>, linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>, intel-wired-lan@lists.osuosl.org <intel-wired-lan@lists.osuosl.org>, Jack Vogel <jack.vogel@oracle.com>, netdev@vger.kernel.org <netdev@vger.kernel.org>, Ramanan Govindarajan <ramanan.govindarajan@oracle.com>
Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf: start negotiate with api version 1.4
Dear Yifei,


Thank you very much for your patch.

Am 02.03.24 um 00:58 schrieb Yifei Liu:
> 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")

Why can’t the PF side not be updated to version 1.5 too?


I tried to add the new api version to the switch in pf side. However, that would lead to another issue. Function ixgbe_read_mbx_pf() returns an error code -100, which should be IXGBE_ERR_MBX. The root cause of this is function ixgbe_obtain_mbx_lock_pf returns that error code. It is likely to be a hardware issue communicating with the Ethernet card (IXGBE_READ_REG returns a failure)

If you don’t mind, I’d format the commit message like below.


Sure thanks

Commit 339f28964147d ("ixgbevf: Add support for new mailbox communication
between PF and VF") updates the driver ixgbevf to API version 1.5 while the
pf side is not updated to 1.5 properly. This leads to a negotiation failure
of api version 1.5. So, enforce the negotiation to start with 1.4 which is
working fine.

Normally the pf and vf side should be updated together. Example:

1.  commit adef9a26d6c39 ("ixgbevf: add defines for IPsec offload request")
2.  commit 7269824046376 ("ixgbe: add VF IPsec offload request message
handling")

> Reported-by: Manjunatha Gowda <manjunatha.gowda@oracle.com>
> Signed-off-by: Yifei Liu <yifei.l.liu@oracle.com>
> Reviewed-by: Jack Vogel <jack.vogel@oracle.com>

Please add a Fixes: tag.

Fixes: 39f28964147d ("ixgbevf: Add support for new mailbox communication
between PF and VF")


Sure. Do I need to resend the patch with the fixes tag and new commit message?

Unfortunately, I am unable to find this commit hash. What archive/tree
is it from?

The commit message is 339f28964147d. It seems you missed the one of the double 3 at the very beginning. It is in linux-stable from Linux 5.17.y

> ---
>   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

negotiate

> +      * 1.5 will always fail. Start to negociate with
> +      * version 1.4.

Could you please use the fully allowed line length, so less lines are used?

> +      */
> +     idx = 1; >       while (api[idx] != ixgbe_mbox_api_unknown) {
>                err = hw->mac.ops.negotiate_api_version(hw, api[idx]);
>                if (!err)

Where is `idx` set before?

idx was 0 before in line 2285.
int err, idx = 0;

Unrelated to the problem at hand, but enums or macros should be used for
the API version.

I agree. But for this case, there is an integer array defined before with a reversed sequence of the api version enum. (the desired attempt sequence is from newest to oldest) It may be more readable to use index of the api array. (e.g. api[0] means ixgbe_mbox_api_15, which is enum 6)
FYI, the api array starting from line 2276 in /drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
                static const int api[] = {
                                ixgbe_mbox_api_15,
                                ixgbe_mbox_api_14,
                                ixgbe_mbox_api_13,
                                ixgbe_mbox_api_12,
                                ixgbe_mbox_api_11,
                                ixgbe_mbox_api_10,
                                ixgbe_mbox_api_unknown
                };


Kind regards,

Paul

Thank you again.
Yifei
Yifei Liu March 12, 2024, 12:22 a.m. UTC | #4
> Hi Paul,
> I apologize for possible html text in the previous email. I cleared 
> the format and resend them as plain text.
> Thank you.
> Yifei
>
> From: Yifei Liu <yifei.l.liu@oracle.com>
> Sent: Monday, March 4, 2024 1:48 PM
> To: Paul Menzel <pmenzel@molgen.mpg.de>
> Cc: jesse.brandeburg@intel.com <jesse.brandeburg@intel.com>; 
> anthony.l.nguyen@intel.com <anthony.l.nguyen@intel.com>; 
> davem@davemloft.net <davem@davemloft.net>; edumazet@google.com 
> <edumazet@google.com>; kuba@kernel.org <kuba@kernel.org>; 
> pabeni@redhat.com <pabeni@redhat.com>; lihong.yang@intel.com 
> <lihong.yang@intel.com>; Harshit Mogalapalli 
> <harshit.m.mogalapalli@oracle.com>; linux-kernel@vger.kernel.org 
> <linux-kernel@vger.kernel.org>; intel-wired-lan@lists.osuosl.org 
> <intel-wired-lan@lists.osuosl.org>; Jack Vogel 
> <jack.vogel@oracle.com>; netdev@vger.kernel.org 
> <netdev@vger.kernel.org>; Ramanan Govindarajan 
> <ramanan.govindarajan@oracle.com>
> Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf: 
> start negotiate with api version 1.4
> Hi Paul
> Thank you for your replay. Please see inline.
> From: Paul Menzel <pmenzel@molgen.mpg.de>
> Date: Saturday, March 2, 2024 at 12:20 AM
> To: Yifei Liu <yifei.l.liu@oracle.com>
> Cc: jesse.brandeburg@intel.com <jesse.brandeburg@intel.com>, 
> anthony.l.nguyen@intel.com <anthony.l.nguyen@intel.com>, 
> davem@davemloft.net <davem@davemloft.net>, edumazet@google.com 
> <edumazet@google.com>, kuba@kernel.org <kuba@kernel.org>, 
> pabeni@redhat.com <pabeni@redhat.com>, lihong.yang@intel.com 
> <lihong.yang@intel.com>, Harshit Mogalapalli 
> <harshit.m.mogalapalli@oracle.com>, linux-kernel@vger.kernel.org 
> <linux-kernel@vger.kernel.org>, intel-wired-lan@lists.osuosl.org 
> <intel-wired-lan@lists.osuosl.org>, Jack Vogel 
> <jack.vogel@oracle.com>, netdev@vger.kernel.org 
> <netdev@vger.kernel.org>, Ramanan Govindarajan 
> <ramanan.govindarajan@oracle.com>
> Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf: 
> start negotiate with api version 1.4
> Dear Yifei,
>
>
> Thank you very much for your patch.
>
> Am 02.03.24 um 00:58 schrieb Yifei Liu:
> > 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")
>
> Why can’t the PF side not be updated to version 1.5 too?
>
> I tried to add the new api version to the switch in pf side. However, 
> that would lead to another issue. Function ixgbe_read_mbx_pf() returns 
> an error code -100, which should be IXGBE_ERR_MBX. The root cause of 
> this is function ixgbe_obtain_mbx_lock_pf returns that error code. It 
> is likely to be a hardware issue communicating with the Ethernet card 
> (IXGBE_READ_REG returns a failure)
>
> If you don’t mind, I’d format the commit message like below.
>
> Sure thanks
>
> Commit 339f28964147d ("ixgbevf: Add support for new mailbox communication
> between PF and VF") updates the driver ixgbevf to API version 1.5 
> while the
> pf side is not updated to 1.5 properly. This leads to a negotiation 
> failure
> of api version 1.5. So, enforce the negotiation to start with 1.4 which is
> working fine.
>
> Normally the pf and vf side should be updated together. Example:
>
> 1.  commit adef9a26d6c39 ("ixgbevf: add defines for IPsec offload 
> request")
> 2.  commit 7269824046376 ("ixgbe: add VF IPsec offload request message
> handling")
>
> > Reported-by: Manjunatha Gowda <manjunatha.gowda@oracle.com>
> > Signed-off-by: Yifei Liu <yifei.l.liu@oracle.com>
> > Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
>
> Please add a Fixes: tag.
>
> Fixes: 39f28964147d ("ixgbevf: Add support for new mailbox communication
> between PF and VF")
>
> Sure. Do I need to resend the patch with the fixes tag and new commit 
> message?
>
> Unfortunately, I am unable to find this commit hash. What archive/tree
> is it from?
> The commit message is 339f28964147d. It seems you missed the one of 
> the double 3 at the very beginning. It is in linux-stable from Linux 
> 5.17.y
>
> > ---
> >   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
>
> negotiate
>
> > +      * 1.5 will always fail. Start to negociate with
> > +      * version 1.4.
>
> Could you please use the fully allowed line length, so less lines are 
> used?
>
> > +      */
> > +     idx = 1; >       while (api[idx] != ixgbe_mbox_api_unknown) {
> >                err = hw->mac.ops.negotiate_api_version(hw, api[idx]);
> >                if (!err)
>
> Where is `idx` set before?
>
> idx was 0 before in line 2285.
> int err, idx = 0;
>
> Unrelated to the problem at hand, but enums or macros should be used for
> the API version.
>
> I agree. But for this case, there is an integer array defined before 
> with a reversed sequence of the api version enum. (the desired attempt 
> sequence is from newest to oldest) It may be more readable to use 
> index of the api array. (e.g. api[0] means ixgbe_mbox_api_15, which is 
> enum 6)
> FYI, the api array starting from line 2276 in 
> /drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> static const int api[] = {
> ixgbe_mbox_api_15,
> ixgbe_mbox_api_14,
> ixgbe_mbox_api_13,
> ixgbe_mbox_api_12,
> ixgbe_mbox_api_11,
> ixgbe_mbox_api_10,
> ixgbe_mbox_api_unknown
> };
>
>
> Kind regards,
>
> Paul
> Thank you again.
> Yifei
diff mbox series

Patch

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)