summaryrefslogtreecommitdiffstats
path: root/drivers/pci/pcie/aer/aerdrv.h
diff options
context:
space:
mode:
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>2009-09-07 17:13:42 +0900
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-09-09 13:49:26 -0700
commite7a0d92b19f438011ad76c41755b56ec2ef05f64 (patch)
treef09cc40211ccf8c1b695d6394d9c184ea12b943d /drivers/pci/pcie/aer/aerdrv.h
parent0d90c3ac0bb89acfbf481c8b06749b00eade6545 (diff)
downloadlinux-e7a0d92b19f438011ad76c41755b56ec2ef05f64.tar.gz
linux-e7a0d92b19f438011ad76c41755b56ec2ef05f64.tar.bz2
linux-e7a0d92b19f438011ad76c41755b56ec2ef05f64.zip
PCI: pcie, aer: report multiple/first error on a device
Multiple bits might be set in the Uncorrectable Error Status register. But aer_print_error_source() only report a error of the lowest bit set in the error status register. So print strings for all bits unmasked and set. And check First Error Pointer to mark the error occured first. This FEP is not valid when the corresponing bit of the Uncorrectable Error Status register is not set, or unimplemented or undefined. Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci/pcie/aer/aerdrv.h')
-rw-r--r--drivers/pci/pcie/aer/aerdrv.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pci/pcie/aer/aerdrv.h b/drivers/pci/pcie/aer/aerdrv.h
index 0db530db9439..436bf79e2739 100644
--- a/drivers/pci/pcie/aer/aerdrv.h
+++ b/drivers/pci/pcie/aer/aerdrv.h
@@ -61,6 +61,7 @@ struct aer_err_info {
u16 id;
int severity; /* 0:NONFATAL | 1:FATAL | 2:COR */
int flags;
+ int first;
unsigned int status; /* COR/UNCOR Error Status */
unsigned int mask; /* COR/UNCOR Error Mask */
struct header_log_regs tlp; /* TLP Header */