]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Feb 2014 22:42:57 +0000 (14:42 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Feb 2014 22:42:57 +0000 (14:42 -0800)
added patches:
staging-iio-ad799x-fix-error_free_irq-which-was-freeing-an-irq-that-may-not-have-been-requested.patch

queue-3.4/series
queue-3.4/staging-iio-ad799x-fix-error_free_irq-which-was-freeing-an-irq-that-may-not-have-been-requested.patch [new file with mode: 0644]

index 9986c84ad986d5c9485a6455a25b84544030ff2f..9df27798f8b2fbf6480d64253ecc5186dded6039 100644 (file)
@@ -7,3 +7,4 @@ spi-fix-crash-with-double-message-finalisation-on-error-handling.patch
 raw-test-against-runtime-value-of-max_raw_minors.patch
 lockd-send-correct-lock-when-granting-a-delayed-lock.patch
 tty-n_gsm-fix-for-modems-with-brk-in-modem-status-control.patch
+staging-iio-ad799x-fix-error_free_irq-which-was-freeing-an-irq-that-may-not-have-been-requested.patch
diff --git a/queue-3.4/staging-iio-ad799x-fix-error_free_irq-which-was-freeing-an-irq-that-may-not-have-been-requested.patch b/queue-3.4/staging-iio-ad799x-fix-error_free_irq-which-was-freeing-an-irq-that-may-not-have-been-requested.patch
new file mode 100644 (file)
index 0000000..9dfa06c
--- /dev/null
@@ -0,0 +1,32 @@
+From 38408d056188be29a6c4e17f3703c796551bb330 Mon Sep 17 00:00:00 2001
+From: Hartmut Knaack <knaack.h@gmx.de>
+Date: Wed, 1 Jan 2014 23:04:00 +0000
+Subject: staging:iio:ad799x fix error_free_irq which was freeing an irq that may not have been requested
+
+From: Hartmut Knaack <knaack.h@gmx.de>
+
+commit 38408d056188be29a6c4e17f3703c796551bb330 upstream.
+
+Only free an IRQ in error_free_irq, if it has been requested previously.
+
+Signed-off-by: Hartmut Knaack <knaack.h@gmx.de>
+Acked-by: Lars-Peter Clausen <lars@metafoo.de>
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/iio/adc/ad799x_core.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/staging/iio/adc/ad799x_core.c
++++ b/drivers/staging/iio/adc/ad799x_core.c
+@@ -873,7 +873,8 @@ static int __devinit ad799x_probe(struct
+       return 0;
+ error_free_irq:
+-      free_irq(client->irq, indio_dev);
++      if (client->irq > 0)
++              free_irq(client->irq, indio_dev);
+ error_cleanup_ring:
+       ad799x_ring_cleanup(indio_dev);
+ error_disable_reg: