On Thu, Mar 14, 2024 at 09:00:49AM +0800, Kaiwen Deng wrote:
> On the latest ice kernel driver, renegotiating VIRTCHNL_OP_GET_VF_RESOURCES
> will fail without hardware reset when using dcf.
> 
> This commit will send VIRTCHNL_OP_RESET_VF to pf before dpdk resets vf.
> 
> Fixes: 7a93cd3575eb ("net/iavf: add VF reset check")

It could be argued that the offending commit could actually be earlier:
Fixes: e74e1bb6280d ("net/iavf: enable port reset")

When applying, I'll add both commits as fixes lines.

> Cc: sta...@dpdk.org
> 
> Signed-off-by: Kaiwen Deng <kaiwenx.d...@intel.com>
> ---
>  drivers/net/iavf/iavf_ethdev.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
> index 245b3cd854..1c2d23f80f 100644
> --- a/drivers/net/iavf/iavf_ethdev.c
> +++ b/drivers/net/iavf/iavf_ethdev.c
> @@ -3038,6 +3038,16 @@ iavf_dev_reset(struct rte_eth_dev *dev)
>       struct iavf_adapter *adapter =
>               IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
>       struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> +     struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
> +
> +     if (!vf->in_reset_recovery) {
> +             ret = iavf_aq_send_msg_to_pf(hw, VIRTCHNL_OP_RESET_VF,
> +                                             IAVF_SUCCESS, NULL, 0, NULL);
> +             if (ret) {
> +                     PMD_DRV_LOG(ERR, "fail to send cmd 
> VIRTCHNL_OP_RESET_VF");
> +                     return ret;
> +             }
> +     }
>  
>       /*
>        * Check whether the VF reset has been done and inform application,
> -- 
> 2.34.1
> 

Reply via email to