]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
PCI/ERR: Always report current recovery status for udev
authorKeith Busch <keith.busch@intel.com>
Thu, 20 Sep 2018 16:27:15 +0000 (10:27 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 2 Oct 2018 21:04:40 +0000 (16:04 -0500)
A device still participates in error recovery even if it doesn't have
the error callbacks.

Always provide the status for user event watchers.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Sinan Kaya <okaya@kernel.org>
drivers/pci/pcie/err.c

index 362a717c831a3c72c17f6353001c23f25b5b51c3..31e8a4314384440e4e4dfe7c843425e1e11cfd44 100644 (file)
@@ -70,9 +70,8 @@ static int report_error_detected(struct pci_dev *dev,
        } else {
                err_handler = dev->driver->err_handler;
                vote = err_handler->error_detected(dev, state);
-               pci_uevent_ers(dev, PCI_ERS_RESULT_NONE);
        }
-
+       pci_uevent_ers(dev, vote);
        *result = merge_result(*result, vote);
        device_unlock(&dev->dev);
        return 0;
@@ -140,8 +139,8 @@ static int report_resume(struct pci_dev *dev, void *data)
 
        err_handler = dev->driver->err_handler;
        err_handler->resume(dev);
-       pci_uevent_ers(dev, PCI_ERS_RESULT_RECOVERED);
 out:
+       pci_uevent_ers(dev, PCI_ERS_RESULT_RECOVERED);
        device_unlock(&dev->dev);
        return 0;
 }