[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: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
a654ba16fd
commit
8636ead8b2
@@ -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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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;
|
||||||
|
Reference in New Issue
Block a user