Description: backport of dpdk 16.04-rc1 fix for LP: #1559981 Forwarded: n/a (already upstream) Author: Christian Ehrhardt Last-Update: 2016-03-20 From 8a8807369ffafef90c410279b4b2645d2d7a7483 Mon Sep 17 00:00:00 2001 From: Helin Zhang Date: Tue, 8 Mar 2016 16:14:28 +0800 Subject: [PATCH] i40e/base: fix driver load failure Fix the driver load failure with linking with some PHY types, as the amount of time it takes for the GLGEN_RSTAT_DEVSTATE to be set increases greatly on those PHY types, which can lead to a timeout. Fixes: 9aeefed05538 ("i40e/base: support ESS") Signed-off-by: Helin Zhang Acked-by: Jingjing Wu Acked-by: Remy Horton --- drivers/net/i40e/base/i40e_common.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Index: dpdk/drivers/net/i40e/base/i40e_common.c =================================================================== --- dpdk.orig/drivers/net/i40e/base/i40e_common.c +++ dpdk/drivers/net/i40e/base/i40e_common.c @@ -1303,11 +1303,11 @@ enum i40e_status_code i40e_pf_reset(stru grst_del = (rd32(hw, I40E_GLGEN_RSTCTL) & I40E_GLGEN_RSTCTL_GRSTDEL_MASK) >> I40E_GLGEN_RSTCTL_GRSTDEL_SHIFT; -#ifdef I40E_ESS_SUPPORT + /* It can take upto 15 secs for GRST steady state */ grst_del = grst_del * 20; /* bump it to 16 secs max to be safe */ -#endif - for (cnt = 0; cnt < grst_del + 10; cnt++) { + + for (cnt = 0; cnt < grst_del; cnt++) { reg = rd32(hw, I40E_GLGEN_RSTAT); if (!(reg & I40E_GLGEN_RSTAT_DEVSTATE_MASK)) break;