On Thu, Oct 08, 2026 at 11:19:22AM -0400, Alex Deucher wrote: > On Thu, Oct 8, 2026 at 8:26???AM Lukas Wunner <[email protected]> wrote: > > Alex is seeing a probe failure of the amdgpu driver after the Root Port > > above an AMD Navi10 GPU has been reset. The reset was performed to > > recover from a Firmware First reported Fatal Error. > > > > However all status registers in the Root Port's AER Extended Capability > > are blank, so apparently the platform firmware raised a false alarm. [...] > > Skip error recovery on false alarms, i.e. if no unmasked errors were > > actually signaled. [...] > > Fixes: eddba19b8b5f ("PCI/AER: Support Advisory Non-Fatal Errors") > > Reported-by: Alex Deucher <[email protected]> > > Tested-by: Alex Deucher <[email protected]> > > FWIW, I only tested this patch in conjunction with the other two > patches you had posted on the ticket. I haven't tried just this patch > alone.
This patch alone should avoid the issues you're seeing both on the Vega20 system (the first one you reported in the bugzilla) and on the Navi10 system (the second one). On both systems, the BIOS is signaling a Fatal Error via Firmware First error handling even though the error status registers are blank. The Vega20 log says that error recovery failed because no driver was bound to the GPU. The two additional patches you tested with avoid this error message because they change error recovery to tolerate unbound devices. But by not attempting recovery on false alarms in the first place, it becomes irrelevant whether the device is bound. I had skimmed the log after your initial report, saw the message about recovery failing for unbound devices and hence pointed you to the patches which tolerate unbound devices on error recovery. Then on closer inspection of the logs I realized that the error status registers are completely blank, so the error reported by firmware is bogus and attempting recovery is pointless. For native error handling (i.e. not Firmware First), we already check whether "status & ~mask" is zero in aer_get_device_error_info() and skip recovery if so. This patch aligns Firmware First error handling with native error handling in that regard. Thanks, Lukas
