PCI: PCIe AER: add aer_recover_queue
authorHuang Ying <ying.huang@intel.com>
Tue, 17 May 2011 08:08:37 +0000 (16:08 +0800)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 22 Jul 2011 15:25:37 +0000 (08:25 -0700)
commit0918472ceeffad234df5589e45b646a94476f835
tree3afd05b7710a56056cdf8273545990949dd553fa
parent0aba496fc820d7c36775f2fd0ef81994e1af67a8
PCI: PCIe AER: add aer_recover_queue

In addition to native PCIe AER, now APEI (ACPI Platform Error
Interface) GHES (Generic Hardware Error Source) can be used to report
PCIe AER errors too.  To add support to APEI GHES PCIe AER recovery,
aer_recover_queue is added to export the recovery function in native
PCIe AER driver.

Recoverable PCIe AER errors are reported via NMI in APEI GHES.  Then
APEI GHES uses irq_work to delay the error processing into an IRQ
handler.  But PCIe AER recovery can be very time-consuming, so
aer_recover_queue, which can be used in IRQ handler, delays the real
recovery action into the process context, that is, work queue.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/pcie/aer/aerdrv_core.c
drivers/pci/pcie/aer/aerdrv_errprint.c
include/linux/aer.h