net/cpfl: fix a compiler issue about virtchnl opcode

Message ID 20230309103142.276726-1-mingxia.liu@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Qi Zhang
Headers
Series net/cpfl: fix a compiler issue about virtchnl opcode |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/intel-Functional success Functional PASS

Commit Message

Liu, Mingxia March 9, 2023, 10:31 a.m. UTC
  Comparing an enum virtchnl_ops variable with VIRTCHNL2_OP_EVENT
will cause a compiler issue, as VIRTCHNL2_OP_EVENT is not included
in enum virtchnl_ops. And the PMD uses virtual msg opcodes prefixed
with virtchnl2 or VIRTCHNL2.

Fixes: 20618563b81b ("net/cpfl: support device initialization")

Signed-off-by: Mingxia Liu <mingxia.liu@intel.com>
---
 drivers/net/cpfl/cpfl_ethdev.c | 2 +-
 drivers/net/idpf/idpf_ethdev.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
  

Comments

Stephen Hemminger March 9, 2023, 2:41 a.m. UTC | #1
On Thu,  9 Mar 2023 10:31:42 +0000
Mingxia Liu <mingxia.liu@intel.com> wrote:

> iff --git a/drivers/net/idpf/idpf_ethdev.c b/drivers/net/idpf/idpf_ethdev.c
> index db58157ba3..59883af8a8 100644
> --- a/drivers/net/idpf/idpf_ethdev.c
> +++ b/drivers/net/idpf/idpf_ethdev.c
> @@ -1058,8 +1058,8 @@ idpf_handle_virtchnl_msg(struct idpf_adapter_ext *adapter_ex)
>  	struct idpf_ctlq_msg ctlq_msg;
>  	enum idpf_mbx_opc mbx_op;
>  	struct idpf_vport *vport;
> -	enum virtchnl_ops vc_op;
>  	uint16_t pending = 1;
> +	enum virtchnl_ops vc_op;
>  	int ret;
>  
>  	while (pending) {


Why does order of declarations matter here?
Compilers are free to reorder this.
  
Liu, Mingxia March 9, 2023, 3:03 a.m. UTC | #2
> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Thursday, March 9, 2023 10:42 AM
> To: Liu, Mingxia <mingxia.liu@intel.com>
> Cc: dev@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; Zhang, Yuying
> <yuying.zhang@intel.com>
> Subject: Re: [PATCH] net/cpfl: fix a compiler issue about virtchnl opcode
> 
> On Thu,  9 Mar 2023 10:31:42 +0000
> Mingxia Liu <mingxia.liu@intel.com> wrote:
> 
> > iff --git a/drivers/net/idpf/idpf_ethdev.c
> > b/drivers/net/idpf/idpf_ethdev.c index db58157ba3..59883af8a8 100644
> > --- a/drivers/net/idpf/idpf_ethdev.c
> > +++ b/drivers/net/idpf/idpf_ethdev.c
> > @@ -1058,8 +1058,8 @@ idpf_handle_virtchnl_msg(struct idpf_adapter_ext
> *adapter_ex)
> >  	struct idpf_ctlq_msg ctlq_msg;
> >  	enum idpf_mbx_opc mbx_op;
> >  	struct idpf_vport *vport;
> > -	enum virtchnl_ops vc_op;
> >  	uint16_t pending = 1;
> > +	enum virtchnl_ops vc_op;
> >  	int ret;
> >
> >  	while (pending) {
> 
> 
> Why does order of declarations matter here?
> Compilers are free to reorder this.
[Liu, Mingxia] Unused changes, v2 was sent.
  

Patch

diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
index 0940bf1276..54261d5743 100644
--- a/drivers/net/cpfl/cpfl_ethdev.c
+++ b/drivers/net/cpfl/cpfl_ethdev.c
@@ -1095,8 +1095,8 @@  cpfl_handle_virtchnl_msg(struct cpfl_adapter_ext *adapter)
 	struct idpf_ctlq_msg ctlq_msg;
 	enum idpf_mbx_opc mbx_op;
 	struct idpf_vport *vport;
-	enum virtchnl_ops vc_op;
 	uint16_t pending = 1;
+	uint32_t vc_op;
 	int ret;
 
 	while (pending) {
diff --git a/drivers/net/idpf/idpf_ethdev.c b/drivers/net/idpf/idpf_ethdev.c
index db58157ba3..59883af8a8 100644
--- a/drivers/net/idpf/idpf_ethdev.c
+++ b/drivers/net/idpf/idpf_ethdev.c
@@ -1058,8 +1058,8 @@  idpf_handle_virtchnl_msg(struct idpf_adapter_ext *adapter_ex)
 	struct idpf_ctlq_msg ctlq_msg;
 	enum idpf_mbx_opc mbx_op;
 	struct idpf_vport *vport;
-	enum virtchnl_ops vc_op;
 	uint16_t pending = 1;
+	enum virtchnl_ops vc_op;
 	int ret;
 
 	while (pending) {