[dpdk-stable] [PATCH] net/i40e: fix no response from kernel PF
    Beilei Xing 
    beilei.xing at intel.com
       
    Mon Jul 17 09:13:07 CEST 2017
    
    
  
If using old kernel driver and using kernel PF and DPDK VF mode,
VF fails to start due to incomplete command.
The root cause is that old kernel driver doesn't support vlan
stripping, when DPDK VF sends VIRTCHNL_OP_ENABLE_VLAN_STRIPPING
to kernel PF, PF won't response to VF.
This patch adds clearing command on VF side if PF won't response
to VF, avoids blocking the following commands.
Fixes: 5f0b95d59a98 ("net/i40e: support VLAN stripping for VF")
Cc: stable at dpdk.org
Signed-off-by: Beilei Xing <beilei.xing at intel.com>
---
 drivers/net/i40e/i40e_ethdev_vf.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index bab09f8..cdeb6ce 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -392,6 +392,11 @@ i40evf_execute_vf_cmd(struct rte_eth_dev *dev, struct vf_cmd_info *args)
 			rte_delay_ms(ASQ_DELAY_MS);
 			/* If don't read msg or read sys event, continue */
 		} while (i++ < MAX_TRY_TIMES);
+		/* If there's no response is received, clear command */
+		if (i >= MAX_TRY_TIMES) {
+			PMD_DRV_LOG(WARNING, "No response for %d", args->ops);
+			_clear_cmd(vf);
+		}
 		break;
 	}
 
-- 
2.5.5
    
    
More information about the stable
mailing list