dmaengine: ipu: remove bogus NO_IRQ reference
authorArnd Bergmann <arnd@arndb.de>
Fri, 2 Sep 2016 23:22:02 +0000 (01:22 +0200)
committerVinod Koul <vinod.koul@intel.com>
Mon, 5 Sep 2016 11:10:52 +0000 (16:40 +0530)
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.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 6ef41cf6f721 ("dmaengine :ipu: change ipu_irq_handler() to remove compile warning")
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/ipu/ipu_irq.c

index 2bf37e68ad0f1529e472a141031d56586ac21e21..dd184b50e5b40a508c1bdacee874b6464d2b1055 100644 (file)
@@ -286,22 +286,21 @@ static void ipu_irq_handler(struct irq_desc *desc)
                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);
                }
        }