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

From: Jacob Keller

Date: Tue Oct 27 2026 - 17:40:07 EST


On 10/19/2026 3:51 AM, Aaron Ma wrote:
> 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 <aaron.ma@xxxxxxxxxxxxx>
> ---
> 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;
> }

This conflicts with
https://lore.kernel.org/intel-wired-lan/20261002130752.2597259-9-poros@xxxxxxxxxx/
which is part of the series
https://lore.kernel.org/intel-wired-lan/20261002130752.2597259-1-poros@xxxxxxxxxx/

I think Petr's fix is more complete, checking for the actual reset
status is more reliable than *either* the old or this check.

I'm rejecting just this one patch from the series and won't apply it. If
you need to rebase please exlude that fix in v2 or later and we'll carry
the better fix from Petr as it goes through the net tree.

Thanks,
Jake