Staging: media: davinci_vpfe: unlock on error in vpfe_reqbufs()

Message ID 20161118113024.GA3150@mwanda (mailing list archive)
State Accepted, archived
Delegated to: Laurent Pinchart
Headers

Commit Message

Dan Carpenter Nov. 18, 2016, 11:30 a.m. UTC
  We should unlock before returning this error code in vpfe_reqbufs().

Fixes: 622897da67b3 ("[media] davinci: vpfe: add v4l2 video driver support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Comments

Laurent Pinchart Nov. 22, 2016, 9:39 p.m. UTC | #1
Hi Dan,

Thank you for the patch.

On Friday 18 Nov 2016 14:30:24 Dan Carpenter wrote:
> We should unlock before returning this error code in vpfe_reqbufs().
> 
> Fixes: 622897da67b3 ("[media] davinci: vpfe: add v4l2 video driver support")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

and applied to my tree. I will send a pull request for v4.11.

> diff --git a/drivers/staging/media/davinci_vpfe/vpfe_video.c
> b/drivers/staging/media/davinci_vpfe/vpfe_video.c index c34bf46..353f3a8
> 100644
> --- a/drivers/staging/media/davinci_vpfe/vpfe_video.c
> +++ b/drivers/staging/media/davinci_vpfe/vpfe_video.c
> @@ -1362,7 +1362,7 @@ static int vpfe_reqbufs(struct file *file, void *priv,
> ret = vb2_queue_init(q);
>  	if (ret) {
>  		v4l2_err(&vpfe_dev->v4l2_dev, "vb2_queue_init() failed\n");
> -		return ret;
> +		goto unlock_out;
>  	}
> 
>  	fh->io_allowed = 1;
  

Patch

diff --git a/drivers/staging/media/davinci_vpfe/vpfe_video.c b/drivers/staging/media/davinci_vpfe/vpfe_video.c
index c34bf46..353f3a8 100644
--- a/drivers/staging/media/davinci_vpfe/vpfe_video.c
+++ b/drivers/staging/media/davinci_vpfe/vpfe_video.c
@@ -1362,7 +1362,7 @@  static int vpfe_reqbufs(struct file *file, void *priv,
 	ret = vb2_queue_init(q);
 	if (ret) {
 		v4l2_err(&vpfe_dev->v4l2_dev, "vb2_queue_init() failed\n");
-		return ret;
+		goto unlock_out;
 	}
 
 	fh->io_allowed = 1;