[media] mx2_camera: fix missing unlock on error in mx2_start_streaming()
Add the missing unlock on the error handle path in function mx2_start_streaming(). Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> 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
6a3082adc8
commit
f1ccccaf23
@@ -864,8 +864,10 @@ static int mx2_start_streaming(struct vb2_queue *q, unsigned int count)
|
|||||||
|
|
||||||
bytesperline = soc_mbus_bytes_per_line(icd->user_width,
|
bytesperline = soc_mbus_bytes_per_line(icd->user_width,
|
||||||
icd->current_fmt->host_fmt);
|
icd->current_fmt->host_fmt);
|
||||||
if (bytesperline < 0)
|
if (bytesperline < 0) {
|
||||||
|
spin_unlock_irqrestore(&pcdev->lock, flags);
|
||||||
return bytesperline;
|
return bytesperline;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* I didn't manage to properly enable/disable the prp
|
* I didn't manage to properly enable/disable the prp
|
||||||
@@ -878,8 +880,10 @@ static int mx2_start_streaming(struct vb2_queue *q, unsigned int count)
|
|||||||
pcdev->discard_buffer = dma_alloc_coherent(ici->v4l2_dev.dev,
|
pcdev->discard_buffer = dma_alloc_coherent(ici->v4l2_dev.dev,
|
||||||
pcdev->discard_size, &pcdev->discard_buffer_dma,
|
pcdev->discard_size, &pcdev->discard_buffer_dma,
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!pcdev->discard_buffer)
|
if (!pcdev->discard_buffer) {
|
||||||
|
spin_unlock_irqrestore(&pcdev->lock, flags);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
pcdev->buf_discard[0].discard = true;
|
pcdev->buf_discard[0].discard = true;
|
||||||
list_add_tail(&pcdev->buf_discard[0].queue,
|
list_add_tail(&pcdev->buf_discard[0].queue,
|
||||||
|
Reference in New Issue
Block a user