Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1ccccaf authored by Wei Yongjun's avatar Wei Yongjun Committed by Mauro Carvalho Chehab
Browse files

[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: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 6a3082ad
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -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,