-----Original Message-----
From: Petr Oros <redacted>
Sent: Friday, October 2, 2026 6:08 AM
To: <redacted>
Cc: Oros, Petr <redacted>; Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; Andrew Lunn <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric Dumazet <edumazet@kernel.org>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Lobakin, Aleksander <aleksander.lobakin@intel.com>; Alexei Starovoitov <ast@kernel.org>; Daniel Borkmann <daniel@iogearbox.net>; Jesper Dangaard Brouer <hawk@kernel.org>; John Fastabend <john.fastabend@gmail.com>; Stanislav Fomichev <sdf@fomichev.me>; Henry Tieman > <redacted>; Anirudh Venkataramanan <redacted>; Michal Swiatkowski <redacted>; Jesse Brandeburg <jbrandeb@kernel.org>; Preethi Banala <redacted>; Kiran Patil <redacted>; Dan Nowlin <redacted>; Stephen Hemminger <stephen@networkplumber.org>; <redacted>; <redacted>; <redacted>
Subject: [PATCH iwl-net 08/10] ice: detect a PF reset that does not complete
ice_pf_reset() polls PFGEN_CTRL.PFSWR for up to ICE_GLOBAL_CFG_LOCK_TIMEOUT + ICE_PF_RESET_WAIT_COUNT iterations, but the timeout check after the loop still compares the counter with ICE_PF_RESET_WAIT_COUNT alone. When the reset never completes the loop ends with cnt == 5300, the check does not match and the function returns success with PFSWR still set. A reset that completes just when the counter reaches ICE_PF_RESET_WAIT_COUNT is reported as a failure instead.
Check the PFSWR bit read last instead of the loop counter, the same way i40e_pf_reset() does after its poll loop.
Fixes: c9a12d6d2091 ("ice: Increase timeout after PFR")
Assisted-by: LLM
Signed-off-by: Petr Oros <redacted>
---
drivers/net/ethernet/intel/ice/ice_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Tested-by: Alexander Nowlin <redacted>