2017-08-03 12:52:23

by Julia Lawall

[permalink] [raw]
Subject: [PATCH] staging: media: use relevant lock

The data protected is video_out2 and the lock that is released is
&video_out2->dma_queue_lock, so it seems that that lock should be
taken as well.

Signed-off-by: Julia Lawall <[email protected]>

---
drivers/staging/media/davinci_vpfe/dm365_resizer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/media/davinci_vpfe/dm365_resizer.c b/drivers/staging/media/davinci_vpfe/dm365_resizer.c
index 857b0e8..4910cb7 100644
--- a/drivers/staging/media/davinci_vpfe/dm365_resizer.c
+++ b/drivers/staging/media/davinci_vpfe/dm365_resizer.c
@@ -1059,7 +1059,7 @@ static void resizer_ss_isr(struct vpfe_resizer_device *resizer)
/* If resizer B is enabled */
if (pipe->output_num > 1 && resizer->resizer_b.output ==
RESIZER_OUTPUT_MEMORY) {
- spin_lock(&video_out->dma_queue_lock);
+ spin_lock(&video_out2->dma_queue_lock);
vpfe_video_process_buffer_complete(video_out2);
video_out2->state = VPFE_VIDEO_BUFFER_NOT_QUEUED;
vpfe_video_schedule_next_buffer(video_out2);


2018-04-24 11:39:50

by Kieran Bingham

[permalink] [raw]
Subject: Re: [PATCH] staging: media: use relevant lock

Hi Julia

Thank you for the patch.

On 03/08/17 13:26, Julia Lawall wrote:
> The data protected is video_out2 and the lock that is released is
> &video_out2->dma_queue_lock, so it seems that that lock should be
> taken as well.

I agree - this certainly looks like there was a copy/paste error perhaps and is
locking the wrong video.

> Signed-off-by: Julia Lawall <[email protected]>

Reviewed-by: Kieran Bingham <[email protected]>




> ---
> drivers/staging/media/davinci_vpfe/dm365_resizer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/media/davinci_vpfe/dm365_resizer.c b/drivers/staging/media/davinci_vpfe/dm365_resizer.c
> index 857b0e8..4910cb7 100644
> --- a/drivers/staging/media/davinci_vpfe/dm365_resizer.c
> +++ b/drivers/staging/media/davinci_vpfe/dm365_resizer.c
> @@ -1059,7 +1059,7 @@ static void resizer_ss_isr(struct vpfe_resizer_device *resizer)
> /* If resizer B is enabled */
> if (pipe->output_num > 1 && resizer->resizer_b.output ==
> RESIZER_OUTPUT_MEMORY) {
> - spin_lock(&video_out->dma_queue_lock);
> + spin_lock(&video_out2->dma_queue_lock);
> vpfe_video_process_buffer_complete(video_out2);
> video_out2->state = VPFE_VIDEO_BUFFER_NOT_QUEUED;
> vpfe_video_schedule_next_buffer(video_out2);
>