From: Zhu Tao <taox....@intel.com> When the VF configuration is larger than the number of queues reserved by PF, VF sends the request queue command through admin queue. When PF received this command, it may reset the VF and send a notification before resetting. If this notification is read by the timed task alarm, Task request queue will lost notification. This patch Mark vf_reset, pend_msg flag just as task request queue has received notification in task alarm.
Signed-off-by: Zhu Tao <taox....@intel.com> --- drivers/net/i40e/i40e_ethdev_vf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c index 5be32b069..86dfda1c0 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c @@ -1332,6 +1332,10 @@ i40evf_handle_pf_event(struct rte_eth_dev *dev, uint8_t *msg, PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_RESET_IMPENDING event"); _rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET, NULL); + if (vf->vf_reset == false) { + vf->vf_reset = true; + vf->pend_msg |= PFMSG_RESET_IMPENDING; + } break; case VIRTCHNL_EVENT_LINK_CHANGE: PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_LINK_CHANGE event"); -- 2.17.1