This is essentially a resend of v3 as it failed to get enough traction; no code change, I only added Sinan Kaya's Reviewed-by. - Changes since v3: * added Sinan Kaya <okaya@xxxxxxxxxx> Reviewed-by - Changes since v2: * set status to PCI_ERS_RESULT_RECOVERED, in case of successful link reset, if and only if the initial value of error status is PCI_ERS_RESULT_DISCONNECT or PCI_ERS_RESULT_NO_AER_DRIVER. - Changes since v1: * changed the commit message to clarify what broke post commit 6d2c89441571 * dropped the misnomer post_reset_status variable in favour of a more natural approach that relies on a boolean to keep track of the outcome of reset_link() After commit 6d2c89441571 ("PCI/ERR: Update error status after reset_link()") pcie_do_recovery() no longer calls ->slot_reset() in the case of a successful reset which breaks error recovery by breaking driver (re)initialisation. Cc: Russ Anderson <rja@xxxxxxx> Cc: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Ashok Raj <ashok.raj@xxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxxx> Cc: Sinan Kaya <okaya@xxxxxxxxxx> Cc: stable@xxxxxxxxxx # v5.7+ --- Hedi Berriche (1): PCI/ERR: don't clobber status after reset_link() drivers/pci/pcie/err.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) -- 2.28.0