[PATCH v2] net/idpf: fix compiling error in CentOS 7

beilei.xing at intel.com beilei.xing at intel.com
Tue Nov 1 03:43:50 CET 2022


From: Beilei Xing <beilei.xing at intel.com>

There's build error with clang 3.4.2 in CentOS 7:

drivers/net/idpf/idpf_vchnl.c:141:13: error: comparison of constant
522 with expression of type 'enum virtchnl_ops' is always false
[-Werror,-Wtautological-constant-out-of-range-compare]

Fixed the compiling error in the patch.

Fixes: 549343c25db8 ("net/idpf: support device initialization")

Signed-off-by: Beilei Xing <beilei.xing at intel.com>
---

v2 change: modify enum virtchnl_ops with uint32_t in header file.

 drivers/net/idpf/idpf_ethdev.h | 10 +++++-----
 drivers/net/idpf/idpf_vchnl.c  |  6 +++---
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/idpf/idpf_ethdev.h b/drivers/net/idpf/idpf_ethdev.h
index ccdf4abe40..1efdfe4ce0 100644
--- a/drivers/net/idpf/idpf_ethdev.h
+++ b/drivers/net/idpf/idpf_ethdev.h
@@ -137,7 +137,7 @@ struct idpf_adapter {
 	struct virtchnl2_version_info virtchnl_version;
 	struct virtchnl2_get_capabilities *caps;
 
-	volatile enum virtchnl_ops pend_cmd; /* pending command not finished */
+	volatile uint32_t pend_cmd; /* pending command not finished */
 	uint32_t cmd_retval; /* return value of the cmd response from ipf */
 	uint8_t *mbx_resp; /* buffer to store the mailbox response from ipf */
 
@@ -195,7 +195,7 @@ notify_cmd(struct idpf_adapter *adapter, int msg_ret)
 	adapter->cmd_retval = msg_ret;
 	/* Return value may be checked in anither thread, need to ensure the coherence. */
 	rte_wmb();
-	adapter->pend_cmd = VIRTCHNL_OP_UNKNOWN;
+	adapter->pend_cmd = VIRTCHNL2_OP_UNKNOWN;
 }
 
 /* clear current command. Only call in case execute
@@ -206,15 +206,15 @@ clear_cmd(struct idpf_adapter *adapter)
 {
 	/* Return value may be checked in anither thread, need to ensure the coherence. */
 	rte_wmb();
-	adapter->pend_cmd = VIRTCHNL_OP_UNKNOWN;
+	adapter->pend_cmd = VIRTCHNL2_OP_UNKNOWN;
 	adapter->cmd_retval = VIRTCHNL_STATUS_SUCCESS;
 }
 
 /* Check there is pending cmd in execution. If none, set new command. */
 static inline bool
-atomic_set_cmd(struct idpf_adapter *adapter, enum virtchnl_ops ops)
+atomic_set_cmd(struct idpf_adapter *adapter, uint32_t ops)
 {
-	enum virtchnl_ops op_unk = VIRTCHNL_OP_UNKNOWN;
+	uint32_t op_unk = VIRTCHNL2_OP_UNKNOWN;
 	bool ret = __atomic_compare_exchange(&adapter->pend_cmd, &op_unk, &ops,
 					    0, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE);
 
diff --git a/drivers/net/idpf/idpf_vchnl.c b/drivers/net/idpf/idpf_vchnl.c
index 00ac5b2a6b..ac6486d4ef 100644
--- a/drivers/net/idpf/idpf_vchnl.c
+++ b/drivers/net/idpf/idpf_vchnl.c
@@ -55,7 +55,7 @@ idpf_vc_clean(struct idpf_adapter *adapter)
 }
 
 static int
-idpf_send_vc_msg(struct idpf_adapter *adapter, enum virtchnl_ops op,
+idpf_send_vc_msg(struct idpf_adapter *adapter, uint32_t op,
 		 uint16_t msg_size, uint8_t *msg)
 {
 	struct idpf_ctlq_msg *ctlq_msg;
@@ -118,7 +118,7 @@ idpf_read_msg_from_cp(struct idpf_adapter *adapter, uint16_t buf_len,
 	struct idpf_ctlq_msg ctlq_msg;
 	struct idpf_dma_mem *dma_mem = NULL;
 	enum idpf_vc_result result = IDPF_MSG_NON;
-	enum virtchnl_ops opcode;
+	uint32_t opcode;
 	uint16_t pending = 1;
 	int ret;
 
@@ -132,7 +132,7 @@ idpf_read_msg_from_cp(struct idpf_adapter *adapter, uint16_t buf_len,
 
 	rte_memcpy(buf, ctlq_msg.ctx.indirect.payload->va, buf_len);
 
-	opcode = (enum virtchnl_ops)rte_le_to_cpu_32(ctlq_msg.cookie.mbx.chnl_opcode);
+	opcode = rte_le_to_cpu_32(ctlq_msg.cookie.mbx.chnl_opcode);
 	adapter->cmd_retval =
 		(enum virtchnl_status_code)rte_le_to_cpu_32(ctlq_msg.cookie.mbx.chnl_retval);
 
-- 
2.26.2



More information about the dev mailing list