From: Greg Kroah-Hartman Date: Thu, 20 Feb 2014 22:42:57 +0000 (-0800) Subject: 3.4-stable patches X-Git-Tag: v3.4.82~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2e1ffc1195b684692be4390df4938bd1977ce3f4;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: 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/series b/queue-3.4/series index 9986c84ad98..9df27798f8b 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -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 index 00000000000..9dfa06cf44e --- /dev/null +++ b/queue-3.4/staging-iio-ad799x-fix-error_free_irq-which-was-freeing-an-irq-that-may-not-have-been-requested.patch @@ -0,0 +1,32 @@ +From 38408d056188be29a6c4e17f3703c796551bb330 Mon Sep 17 00:00:00 2001 +From: Hartmut Knaack +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 + +commit 38408d056188be29a6c4e17f3703c796551bb330 upstream. + +Only free an IRQ in error_free_irq, if it has been requested previously. + +Signed-off-by: Hartmut Knaack +Acked-by: Lars-Peter Clausen +Signed-off-by: Jonathan Cameron +Signed-off-by: Greg Kroah-Hartman + +--- + 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: