Re: [PATCH 1/2] ice: restore DDP state during PFR recovery
From: Przemek Kitszel
Date: Fri Sep 04 2026 - 11:19:20 EST
On 9/3/26 9:47 AM, Aaron Ma wrote:
The firmware package and switch recipes are shared by all PFs of an
adapter. However, each PF rebuilds independently after system resume. The
resulting package downloads and recipe updates can interleave, causing
firmware timeouts and leaving interfaces unusable.
PFR also clears package-derived firmware state on affected devices. The
existing PFR path only rebuilds the driver's block tables, so VLAN recipe
programming can fail after the reset.
The failure is reported as:
ice 0000:04:00.0: Update pkg failed: err -5
ice 0000:04:00.0: package load failed, -12
ice 0000:04:00.0: Rebuild failed, unload and reload driver
This was observed on an Intel E810-XXV-2 adapter (PCI ID 8086:159b,
revision 02) with NVM package 1.0.0.18 and ICE OS Default DDP package
1.3.43.0.
Serialize rebuilds across PFs of the same adapter, while allowing each PFR
to complete independently. Reload the DDP package from its cached copy and
restore the default DVM recipes before rebuilding the remaining PF state.
Abort recovery if either operation fails.
Fixes: 462acf6aca85 ("ice: Enable DDP package download")
Signed-off-by: Aaron Ma <aaron.ma@xxxxxxxxxxxxx>
we have FW-level lock for global (per-card) changes,
we have also per-PF SW lock to protect global-update from given PF
against unrelated AQ stuff
You have added a protection for the case PF1 starts its SW preparation,
then other PF starts the same and its first to grab the FW global lock,
so PF1 could be confused.
I fully support this approach, thank you!
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@xxxxxxxxx>