acks are invoked and it is checked afterwards. Clearing the state_saved flag in pci_restore_state() merely serves the purpose of ensuring that the flag is cleared ahead of the next suspend and resume cycle. It is a fallacy to think that state_saved indicates validity of the saved state. Unfortunately pci_restore_state() was amended by c82f63e411f1 to bail out if state_saved is false. This has arguably caused more problems than it solved, so I have prepared this development branch which essentially reverts the commit and undoes most of the awful workarounds that it necessitated: https://github.com/l1k/linux/commits/aer_reset_v1 I intend to submit this after the merge window has closed. The motivation of c82f63e411f1 was to prevent restoring state if pci_save_state() hasn't been called before. I am solving that by calling pci_save_state() on device addition, hence error recoverability is ensured at all times. I believe this also makes patch [01/10] in your series unnecessary. A lot of drivers call pci_save_state() in their probe hook and that continues to be correct if they modified Config Space vis-a-vis what was saved on device addition. Thanks, Lukas[PATCH v4 01/10] PCI: Avoid saving error values for config spaceLukas Wunner undefinedFarhan Ali undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined%ƒp