Thread (9 messages) 9 messages, 3 authors, 19h ago

[PATCH 1/5] ice: check the full PF reset polling limit

flat view
HOTtoday

From: Aaron Ma <hidden>
Date: 2026-10-19 10:52:48
Also in: intel-wired-lan, lkml
Subsystem: intel ethernet drivers, networking drivers, the rest · Maintainers: Tony Nguyen, Przemek Kitszel, Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

The PF reset polling loop includes the Global Configuration Lock timeout
in addition to the normal PF reset wait. Its timeout check still compares
the iteration count against only the normal PF reset wait.

Consequently, exhausting the extended loop reports success while PFSWR
is still set. A reset completing exactly at the old limit can instead
report a false failure. Subsequent initialization must not proceed on
the assumption that an unfinished reset succeeded.

Compare the count against the same bound used by the polling loop.

Fixes: c9a12d6d2091 ("ice: Increase timeout after PFR")
Signed-off-by: Aaron Ma <redacted>
---
 drivers/net/ethernet/intel/ice/ice_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 04633103e3e61..82b803e74aac0 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -1291,7 +1291,7 @@ static int ice_pf_reset(struct ice_hw *hw)
 		mdelay(1);
 	}
 
-	if (cnt == ICE_PF_RESET_WAIT_COUNT) {
+	if (cnt == ICE_GLOBAL_CFG_LOCK_TIMEOUT + ICE_PF_RESET_WAIT_COUNT) {
 		ice_debug(hw, ICE_DBG_INIT, "PF reset polling failed to complete.\n");
 		return -EIO;
 	}
-- 
2.53.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help