summaryrefslogtreecommitdiffstats
path: root/arm64-xgene-acpi-fix.patch
diff options
context:
space:
mode:
authorPeter Robinson <pbrobinson@gmail.com>2017-10-06 11:50:10 +0100
committerPeter Robinson <pbrobinson@gmail.com>2017-10-06 11:50:10 +0100
commit8d3daaedfb8008b44eb154125a7cff0827b20200 (patch)
tree42fae293a2fb871b4d18f93c8774b108015b824e /arm64-xgene-acpi-fix.patch
parentcbcfcbeb75fe249ad23844c8631bfe50ce544579 (diff)
downloadkernel-8d3daaedfb8008b44eb154125a7cff0827b20200.tar.gz
kernel-8d3daaedfb8008b44eb154125a7cff0827b20200.tar.xz
kernel-8d3daaedfb8008b44eb154125a7cff0827b20200.zip
ARM ACPI fix for x-gene RHBZ #1498117
Diffstat (limited to 'arm64-xgene-acpi-fix.patch')
-rw-r--r--arm64-xgene-acpi-fix.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/arm64-xgene-acpi-fix.patch b/arm64-xgene-acpi-fix.patch
new file mode 100644
index 000000000..e0df833c0
--- /dev/null
+++ b/arm64-xgene-acpi-fix.patch
@@ -0,0 +1,38 @@
+From bdb9458a3382ba745a66be5526d3899103c76eda Mon Sep 17 00:00:00 2001
+From: Loc Ho <lho@apm.com>
+Date: Fri, 21 Jul 2017 11:24:37 -0700
+Subject: ACPI: APEI: Enable APEI multiple GHES source to share a single
+ external IRQ
+
+X-Gene platforms describe multiple GHES error sources with the same
+hardware error notification type (external interrupt) and interrupt
+number.
+
+Change the GHES interrupt request to support sharing the same IRQ.
+
+This change includs contributions from Tuan Phan <tphan@apm.com>.
+
+Signed-off-by: Loc Ho <lho@apm.com>
+Acked-by: Borislav Petkov <bp@suse.de>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+---
+ drivers/acpi/apei/ghes.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
+index d661d45..eed09fc 100644
+--- a/drivers/acpi/apei/ghes.c
++++ b/drivers/acpi/apei/ghes.c
+@@ -1157,7 +1157,8 @@ static int ghes_probe(struct platform_device *ghes_dev)
+ generic->header.source_id);
+ goto err_edac_unreg;
+ }
+- rc = request_irq(ghes->irq, ghes_irq_func, 0, "GHES IRQ", ghes);
++ rc = request_irq(ghes->irq, ghes_irq_func, IRQF_SHARED,
++ "GHES IRQ", ghes);
+ if (rc) {
+ pr_err(GHES_PFX "Failed to register IRQ for generic hardware error source: %d\n",
+ generic->header.source_id);
+--
+cgit v1.1
+