]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Feb 2012 21:38:42 +0000 (13:38 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Feb 2012 21:38:42 +0000 (13:38 -0800)
added patches:
gpio-pca953x-fix-warning-of-enabled-interrupts-in-handler.patch

queue-3.0/gpio-pca953x-fix-warning-of-enabled-interrupts-in-handler.patch [new file with mode: 0644]
queue-3.0/series

diff --git a/queue-3.0/gpio-pca953x-fix-warning-of-enabled-interrupts-in-handler.patch b/queue-3.0/gpio-pca953x-fix-warning-of-enabled-interrupts-in-handler.patch
new file mode 100644 (file)
index 0000000..73296f2
--- /dev/null
@@ -0,0 +1,46 @@
+From 6dd599f8af0166805951f4421a78ba716d78321a Mon Sep 17 00:00:00 2001
+From: David Jander <david@protonic.nl>
+Date: Wed, 8 Jun 2011 11:37:45 -0600
+Subject: gpio/pca953x: Fix warning of enabled interrupts in handler
+
+From: David Jander <david@protonic.nl>
+
+commit 6dd599f8af0166805951f4421a78ba716d78321a upstream.
+
+When using nested threaded irqs, use handle_nested_irq(). This function
+does not call the chip handler, so no handler is set.
+
+Signed-off-by: David Jander <david@protonic.nl>
+Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+Cc: Steven Rostedt <rostedt@goodmis.org>
+Cc: Yong Zhang <yong.zhang0@gmail.com>
+Cc: Manfred Gruber <m.gruber@unverspurt.at>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpio/pca953x.c |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpio/pca953x.c
++++ b/drivers/gpio/pca953x.c
+@@ -437,7 +437,7 @@ static irqreturn_t pca953x_irq_handler(i
+       do {
+               level = __ffs(pending);
+-              generic_handle_irq(level + chip->irq_base);
++              handle_nested_irq(level + chip->irq_base);
+               pending &= ~(1 << level);
+       } while (pending);
+@@ -481,8 +481,8 @@ static int pca953x_irq_setup(struct pca9
+                       int irq = lvl + chip->irq_base;
+                       irq_set_chip_data(irq, chip);
+-                      irq_set_chip_and_handler(irq, &pca953x_irq_chip,
+-                                               handle_simple_irq);
++                      irq_set_chip(irq, &pca953x_irq_chip);
++                      irq_set_nested_thread(irq, true);
+ #ifdef CONFIG_ARM
+                       set_irq_flags(irq, IRQF_VALID);
+ #else
index 9f0e52fee912ff0cb65ebedab06beb43361753d7..318ee4eec3227c6c7c20df6dc5b093489eb84c8b 100644 (file)
@@ -6,3 +6,4 @@ lib-proportion-lower-prop_max_shift-to-32-on-64-bit-kernel.patch
 relay-prevent-integer-overflow-in-relay_open.patch
 mac80211-timeout-a-single-frame-in-the-rx-reorder-buffer.patch
 writeback-fix-dereferencing-null-bdi-dev-on-trace_writeback_queue.patch
+gpio-pca953x-fix-warning-of-enabled-interrupts-in-handler.patch