Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1481957 > unrolled thread

[PATCH 0/2] Correct AER severity for printing AER information

Started byTyler Baicar <tbaicar@codeaurora.org>
First post2016-09-12 23:00 +0200
Last post2016-09-13 11:00 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/2] Correct AER severity for printing AER information Tyler Baicar <tbaicar@codeaurora.org> - 2016-09-12 23:00 +0200
    [PATCH 2/2] acpi: apei: send correct severity to calculate AER severity Tyler Baicar <tbaicar@codeaurora.org> - 2016-09-12 23:00 +0200
    [PATCH 1/2] PCI/AER: Remove duplicate AER severity translation Tyler Baicar <tbaicar@codeaurora.org> - 2016-09-12 23:00 +0200
    Re: [PATCH 0/2] Correct AER severity for printing AER information Borislav Petkov <bp@suse.de> - 2016-09-13 11:00 +0200

#1481957 — [PATCH 0/2] Correct AER severity for printing AER information

FromTyler Baicar <tbaicar@codeaurora.org>
Date2016-09-12 23:00 +0200
Subject[PATCH 0/2] Correct AER severity for printing AER information
Message-ID<sgGuB-b1-15@gated-at.bofh.it>
AER severity handling has two issues that cause the AER information to
be printed incorrectly. The first issue is that the function to calculate
the AER severity is called twice in the code path to print the AER
information. The second issue is that the original call to calculate the
AER severity expects the CPER severity but is recieving the GHES
severity.

Tyler Baicar (2):
  PCI/AER: Remove duplicate AER severity translation
  acpi: apei: send correct severity to calculate AER severity

 drivers/acpi/apei/ghes.c               | 2 +-
 drivers/pci/pcie/aer/aerdrv_errprint.c | 6 ++----
 include/linux/aer.h                    | 2 +-
 3 files changed, 4 insertions(+), 6 deletions(-)

-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

[toc] | [next] | [standalone]


#1481964 — [PATCH 2/2] acpi: apei: send correct severity to calculate AER severity

FromTyler Baicar <tbaicar@codeaurora.org>
Date2016-09-12 23:00 +0200
Subject[PATCH 2/2] acpi: apei: send correct severity to calculate AER severity
Message-ID<sgGuC-b1-65@gated-at.bofh.it>
In reply to#1481957
Currently the AER severity is calculated by calling
cper_severity_to_aer(), but the parameter sent is actually the
GHES severity. This causes the AER severity to be incorrect.
Fix the parameter to be the CPER severity instead of the GHES
severity.

Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org>
---
 drivers/acpi/apei/ghes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index 60746ef..f0a029e 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -457,7 +457,7 @@ static void ghes_do_proc(struct ghes *ghes,
 
 				devfn = PCI_DEVFN(pcie_err->device_id.device,
 						  pcie_err->device_id.function);
-				aer_severity = cper_severity_to_aer(sev);
+				aer_severity = cper_severity_to_aer(gdata->error_severity);
 
 				/*
 				 * If firmware reset the component to contain
-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

[toc] | [prev] | [next] | [standalone]


#1481966 — [PATCH 1/2] PCI/AER: Remove duplicate AER severity translation

FromTyler Baicar <tbaicar@codeaurora.org>
Date2016-09-12 23:00 +0200
Subject[PATCH 1/2] PCI/AER: Remove duplicate AER severity translation
Message-ID<sgGuC-b1-57@gated-at.bofh.it>
In reply to#1481957
Currently the AER severity is being translated twice in
the code flow for PCIe errors. It is first translated in
ghes_do_proc() before calling into the AER driver. Then it
is translated again when the AER driver calls cper_print_aer().
This causes the severity that is used in cper_print_aer() to
be incorrect. Remove the second translation that is in
cper_print_aer() since this function is already recieving the
correct AER severity.

Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org>
---
 drivers/pci/pcie/aer/aerdrv_errprint.c | 6 ++----
 include/linux/aer.h                    | 2 +-
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/pci/pcie/aer/aerdrv_errprint.c b/drivers/pci/pcie/aer/aerdrv_errprint.c
index 167fe41..54c4b69 100644
--- a/drivers/pci/pcie/aer/aerdrv_errprint.c
+++ b/drivers/pci/pcie/aer/aerdrv_errprint.c
@@ -219,15 +219,13 @@ int cper_severity_to_aer(int cper_severity)
 }
 EXPORT_SYMBOL_GPL(cper_severity_to_aer);
 
-void cper_print_aer(struct pci_dev *dev, int cper_severity,
+void cper_print_aer(struct pci_dev *dev, int aer_severity,
 		    struct aer_capability_regs *aer)
 {
-	int aer_severity, layer, agent, status_strs_size, tlp_header_valid = 0;
+	int layer, agent, status_strs_size, tlp_header_valid = 0;
 	u32 status, mask;
 	const char **status_strs;
 
-	aer_severity = cper_severity_to_aer(cper_severity);
-
 	if (aer_severity == AER_CORRECTABLE) {
 		status = aer->cor_status;
 		mask = aer->cor_mask;
diff --git a/include/linux/aer.h b/include/linux/aer.h
index 1640493..04602cb 100644
--- a/include/linux/aer.h
+++ b/include/linux/aer.h
@@ -63,7 +63,7 @@ static inline int pci_cleanup_aer_error_status_regs(struct pci_dev *dev)
 }
 #endif
 
-void cper_print_aer(struct pci_dev *dev, int cper_severity,
+void cper_print_aer(struct pci_dev *dev, int aer_severity,
 		    struct aer_capability_regs *aer);
 int cper_severity_to_aer(int cper_severity);
 void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn,
-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

[toc] | [prev] | [next] | [standalone]


#1482279

FromBorislav Petkov <bp@suse.de>
Date2016-09-13 11:00 +0200
Message-ID<sgRJp-7Xu-45@gated-at.bofh.it>
In reply to#1481957
On Mon, Sep 12, 2016 at 02:57:23PM -0600, Tyler Baicar wrote:
> AER severity handling has two issues that cause the AER information to
> be printed incorrectly. The first issue is that the function to calculate
> the AER severity is called twice in the code path to print the AER
> information. The second issue is that the original call to calculate the
> AER severity expects the CPER severity but is recieving the GHES
> severity.
> 
> Tyler Baicar (2):
>   PCI/AER: Remove duplicate AER severity translation
>   acpi: apei: send correct severity to calculate AER severity
> 
>  drivers/acpi/apei/ghes.c               | 2 +-
>  drivers/pci/pcie/aer/aerdrv_errprint.c | 6 ++----
>  include/linux/aer.h                    | 2 +-
>  3 files changed, 4 insertions(+), 6 deletions(-)

For both:

Reviewed-by: Borislav Petkov <bp@suse.de>

-- 
Regards/Gruss,
    Boris.

ECO tip #101: Trim your mails when you reply.

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
--

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web