[dpdk-dev] [dpdk-stable] [PATCH] net/i40e: fix assignment of enum values

Ferruh Yigit ferruh.yigit at intel.com
Fri Sep 22 18:48:29 CEST 2017


On 9/22/2017 1:36 PM, Michal Jastrzebski wrote:
> From: Tomasz Kulasek <tomaszx.kulasek at intel.com>
> 
> 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 at intel.com
> Cc: stable at dpdk.org
> 
> Signed-off-by: Tomasz Kulasek <tomaszx.kulasek at intel.com>
> ---
>  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

> +		break;
> +	}
>  	vf->vsi.nb_qps = vf->vsi_res->num_queue_pairs;
>  	vf->vsi.adapter = I40E_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
>  
> 



More information about the dev mailing list