[dpdk-dev] [PATCH] net/i40e: fix request queue fail in VF

Ye Xiaolong xiaolong.ye at intel.com
Thu Jul 18 15:09:07 CEST 2019


On 07/18, taox.zhu at intel.com wrote:
>From: Zhu Tao <taox.zhu at 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.

Please add fixes tag and cc stable.


Thanks,
Xiaolong

>
>Signed-off-by: Zhu Tao <taox.zhu at 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
>


More information about the dev mailing list