]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Mar 2018 16:10:21 +0000 (18:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Mar 2018 16:10:21 +0000 (18:10 +0200)
added patches:
revert-genirq-use-irqd_get_trigger_type-to-compare-the.patch

queue-4.9/revert-genirq-use-irqd_get_trigger_type-to-compare-the.patch [new file with mode: 0644]

diff --git a/queue-4.9/revert-genirq-use-irqd_get_trigger_type-to-compare-the.patch b/queue-4.9/revert-genirq-use-irqd_get_trigger_type-to-compare-the.patch
new file mode 100644 (file)
index 0000000..e93e325
--- /dev/null
@@ -0,0 +1,37 @@
+From 5512cca5c518c20037b10369a4725327202dd80b Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Fri, 30 Mar 2018 10:53:44 +0200
+Subject: [PATCH] Revert "genirq: Use irqd_get_trigger_type to compare the
+ trigger type for shared IRQs"
+
+This reverts commit f2596a9808acfd02ce1ee389f0e1c37e64aec5f6 which is
+commit 382bd4de61827dbaaf5fb4fb7b1f4be4a86505e7 upstream.
+
+It causes too many problems with the stable tree, and would require too
+many other things to be backported, so just revert it.
+
+Reported-by: Guenter Roeck <linux@roeck-us.net>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Hans de Goede <hdegoede@redhat.com>
+Cc: Marc Zyngier <marc.zyngier@arm.com>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Sasha Levin <alexander.levin@microsoft.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ kernel/irq/manage.c |    4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+--- a/kernel/irq/manage.c
++++ b/kernel/irq/manage.c
+@@ -1210,10 +1210,8 @@ __setup_irq(unsigned int irq, struct irq
+                * set the trigger type must match. Also all must
+                * agree on ONESHOT.
+                */
+-              unsigned int oldtype = irqd_get_trigger_type(&desc->irq_data);
+-
+               if (!((old->flags & new->flags) & IRQF_SHARED) ||
+-                  (oldtype != (new->flags & IRQF_TRIGGER_MASK)) ||
++                  ((old->flags ^ new->flags) & IRQF_TRIGGER_MASK) ||
+                   ((old->flags ^ new->flags) & IRQF_ONESHOT))
+                       goto mismatch;