summaryrefslogtreecommitdiffstats
path: root/include/linux/aer.h
diff options
context:
space:
mode:
authorOza Pawandeep <poza@codeaurora.org>2018-05-17 16:44:20 -0500
committerBjorn Helgaas <bhelgaas@google.com>2018-06-02 19:29:27 -0500
commitb09803b5e546d553aebbb017ff30b8a54d81d1de (patch)
tree6f39bc0a908ea656c15486741f4375f8fd4a240f /include/linux/aer.h
parent0b91439d35550f585b49e8933fda68663ba03bb2 (diff)
downloadlinux-0-day-b09803b5e546d553aebbb017ff30b8a54d81d1de.tar.gz
linux-0-day-b09803b5e546d553aebbb017ff30b8a54d81d1de.tar.xz
PCI/DPC: Use the generic pcie_do_fatal_recovery() path
Our goal is to handle ERR_FATAL errors similarly, whether they are reported via AER or via DPC. A previous commit changed AER so it handles ERR_FATAL by calling driver .remove() methods and resetting the Link. DPC already does that (although the Link reset is done automatically by hardware and happens before we call the driver .remove() methods). Restructure the DPC code so it calls the same pcie_do_fatal_recovery() interface used by AER. This makes it clearer that we want to use the same path. Implement the .reset_link() method used by pcie_do_fatal_recovery(). For DPC, the actual reset is done automatically by hardware, so we really only have to wait for the Link to be inactive, then release the Port from DPC. Signed-off-by: Oza Pawandeep <poza@codeaurora.org> [bhelgaas: changelog, DPC_FATAL is not a bitfield, can be sequential] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'include/linux/aer.h')
-rw-r--r--include/linux/aer.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/aer.h b/include/linux/aer.h
index 8f87bbeceef41..514bffa11dbbd 100644
--- a/include/linux/aer.h
+++ b/include/linux/aer.h
@@ -14,6 +14,7 @@
#define AER_NONFATAL 0
#define AER_FATAL 1
#define AER_CORRECTABLE 2
+#define DPC_FATAL 3
struct pci_dev;