Re: [dpdk-stable] [PATCH] net/i40e: fix assignment of enum values
From: Wu, Jingjing <hidden>
Date: 2017-09-23 02:05:46
-----Original Message----- From: Yigit, Ferruh Sent: Saturday, September 23, 2017 12:48 AM To: Jastrzebski, MichalX K <redacted>; Wu, Jingjing [off-list ref]; Xing, Beilei [off-list ref] Cc: dev@dpdk.org; Jain, Deepak K <redacted>; Kulasek, TomaszX [off-list ref]; stable@dpdk.org Subject: Re: [dpdk-stable] [PATCH] net/i40e: fix assignment of enum values On 9/22/2017 1:36 PM, Michal Jastrzebski wrote:quoted
From: Tomasz Kulasek <redacted> mixed_enums: Mixing enum types enum i40e_vsi_type and enum virtchnl_vsi_type for type Coverity issue 158651 Fixes: a58860f68929 ("net/i40e/base: use new virtchnl header file") Cc: jingjing.wu@intel.com Cc: stable@dpdk.org Signed-off-by: Tomasz Kulasek <redacted> --- drivers/net/i40e/i40e_ethdev_vf.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c index 73c315a..a8d2740 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c@@ -1295,7 +1295,15 @@ static int i40evf_dev_xstats_get(struct rte_eth_dev *dev, if (hw->mac.type == I40E_MAC_X722_VF) vf->flags = I40E_FLAG_RSS_AQ_CAPABLE; vf->vsi.vsi_id = vf->vsi_res->vsi_id; - vf->vsi.type = (enum i40e_vsi_type)vf->vsi_res->vsi_type; + + switch (vf->vsi_res->vsi_type) { + case VIRTCHNL_VSI_SRIOV: + vf->vsi.type = I40E_VSI_SRIOV; + break; + default: + vf->vsi.type = I40E_VSI_TYPE_UNKNOWN;This changes the behavior. Previously: vsi_type == VIRTCHNL_VSI_TYPE_INVALID ? type = I40E_VSI_MAIN Now: vsi_type == VIRTCHNL_VSI_TYPE_INVALID ? type = I40E_VSI_TYPE_UNKNOWN
For vsi_type in VF, only SRIOV type is valid. I40E_VSI_MAIN is used for PF Lan vsi, even it doesn't cause error, but we need to translate it to correct meaning. Acked-by: Jingjing Wu <redacted>