This is an update to the aer inject that was briefly included in tree, but backed out due to errors in the implementation across various archs. This series should fix those issues and remove any arch specific dependencies so it may continue to be used as before. This series was compile tested using the CROSS_COMPILE build option for ARM. The first patches two are unchanged from before, but reordered to the front of the series since they should be non-controversial and and the AER interrupt handling is actually necessary now that the AER module uses threaded IRQs. I moved the ftrace based error injection to be the last patch. I've updated it to use the portable 'instruction_pointer_set()' function instead of trying to modify the arch specific pt_regs directly, and fallback to the existing error injection method if we can't install the ftrace hooks at run time due to either arch or kernel config limitations. Keith Busch (3): PCI/AER: Reuse existing pcie_port_find_device() interface PCI/AER: Abstract AER interrupt handling PCI/AER: Covertly inject errors with ftrace hooks drivers/pci/pcie/aer.c | 3 +- drivers/pci/pcie/aer_inject.c | 248 +++++++++++++++++++++++++++++++--------- drivers/pci/pcie/portdrv.h | 4 - drivers/pci/pcie/portdrv_core.c | 1 + 4 files changed, 199 insertions(+), 57 deletions(-) -- 2.14.4