Skip to contentSkip to conversation

Patch "dmaengine: ipu: remove bogus NO_IRQ reference" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Oct 28, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

dmaengine: ipu: remove bogus NO_IRQ reference

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
dmaengine-ipu-remove-bogus-no_irq-reference.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 86c7e6836479c4045a9a81ed5ea76c51d719f9c1 Mon Sep 17 00:00:00 2001

From: Arnd Bergmann <[email protected]>
Date: Sat, 3 Sep 2016 01:22:02 +0200
Subject: dmaengine: ipu: remove bogus NO_IRQ reference

From: Arnd Bergmann <[email protected]>

commit 86c7e6836479c4045a9a81ed5ea76c51d719f9c1 upstream.

A workaround for a warning introduced a use of the NO_IRQ macro that should have been gone for a long time.

It is clear from the code that the value cannot actually be used, but apparently there was a configuration at some point that caused a warning, so instead of just reverting that patch, this rearranges the code in a way that the warning cannot reappear.

Fixes 6ef41cf6f721 ("dmaengine :ipu: change ipu_irq_handler() to remove compile warning")
---
 drivers/dma/ipu/ipu_irq.c |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
drivers/dma/ipu/ipu_irq.c +4 -5
@@ -286,22 +286,21 @@ static void ipu_irq_handler(struct irq_d
 		raw_spin_unlock(&bank_lock);
 		while ((line = ffs(status))) {
 			struct ipu_irq_map *map;
-			unsigned int irq = NO_IRQ;
+			unsigned int irq;
 
 			line--;
 			status &= ~(1UL << line);
 
 			raw_spin_lock(&bank_lock);
 			map = src2map(32 * i + line);
-			if (map)
-				irq = map->irq;
-			raw_spin_unlock(&bank_lock);
-
 			if (!map) {
+				raw_spin_unlock(&bank_lock);
 				pr_err("IPU: Interrupt on unmapped source %u bank %d\n",
 				       line, i);
 				continue;
 			}
+			irq = map->irq;
+			raw_spin_unlock(&bank_lock);
 			generic_handle_irq(irq);
 		}
 	}

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/dmaengine-ipu-remove-bogus-no_irq-reference.patch