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

Reply via email to