summaryrefslogtreecommitdiff
path: root/drivers/dma/ipu
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2016-10-03 06:48:29 +0300
committerVinod Koul <vinod.koul@intel.com>2016-10-03 06:48:29 +0300
commitf35d7633f5adfd7f93c0391b48ef78a14682e6b2 (patch)
tree1b78835a9a527c246385e0c003c145eea33a83d6 /drivers/dma/ipu
parent4dfc9afe0d46caa309c5eaede841551d4056fefc (diff)
parent86c7e6836479c4045a9a81ed5ea76c51d719f9c1 (diff)
downloadlinux-f35d7633f5adfd7f93c0391b48ef78a14682e6b2.tar.xz
Merge branch 'topic/no_irq' into for-linus
Diffstat (limited to 'drivers/dma/ipu')
-rw-r--r--drivers/dma/ipu/ipu_irq.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/dma/ipu/ipu_irq.c b/drivers/dma/ipu/ipu_irq.c
index 2bf37e68ad0f..dd184b50e5b4 100644
--- a/drivers/dma/ipu/ipu_irq.c
+++ b/drivers/dma/ipu/ipu_irq.c
@@ -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);
}
}