Commit 8636ead8 authored by Javier Martin's avatar Javier Martin Committed by Mauro Carvalho Chehab

[media] media: i.MX27 camera: Use spin_lock() inside the IRQ handler

We don't need to use spin_lock_irqsave() since there are not
any other IRQs that can race with this ISR.
Signed-off-by: default avatarJavier Martin <javier.martin@vista-silicon.com>
Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent a654ba16
...@@ -1286,9 +1286,8 @@ static irqreturn_t mx27_camera_emma_irq(int irq_emma, void *data) ...@@ -1286,9 +1286,8 @@ static irqreturn_t mx27_camera_emma_irq(int irq_emma, void *data)
struct mx2_camera_dev *pcdev = data; struct mx2_camera_dev *pcdev = data;
unsigned int status = readl(pcdev->base_emma + PRP_INTRSTATUS); unsigned int status = readl(pcdev->base_emma + PRP_INTRSTATUS);
struct mx2_buffer *buf; struct mx2_buffer *buf;
unsigned long flags;
spin_lock_irqsave(&pcdev->lock, flags); spin_lock(&pcdev->lock);
if (list_empty(&pcdev->active_bufs)) { if (list_empty(&pcdev->active_bufs)) {
dev_warn(pcdev->dev, "%s: called while active list is empty\n", dev_warn(pcdev->dev, "%s: called while active list is empty\n",
...@@ -1325,7 +1324,7 @@ static irqreturn_t mx27_camera_emma_irq(int irq_emma, void *data) ...@@ -1325,7 +1324,7 @@ static irqreturn_t mx27_camera_emma_irq(int irq_emma, void *data)
} }
irq_ok: irq_ok:
spin_unlock_irqrestore(&pcdev->lock, flags); spin_unlock(&pcdev->lock);
writel(status, pcdev->base_emma + PRP_INTRSTATUS); writel(status, pcdev->base_emma + PRP_INTRSTATUS);
return IRQ_HANDLED; return IRQ_HANDLED;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment