Commit 8bbb6568 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] davinci_vpfe: Revert "staging: media: davinci_vpfe: remove,unnecessary ret variable"

This reverts commit afa5d19a ("staging: media: davinci_vpfe: remove
unnecessary ret variable").

This patch is completely bogus and messed up the code big time.

I'm not sure what was intended, but this isn't it.

Cc: Thaissa Falbo <thaissa.falbo@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent d5468d7a
...@@ -172,9 +172,11 @@ static int vpfe_prepare_pipeline(struct vpfe_video_device *video) ...@@ -172,9 +172,11 @@ static int vpfe_prepare_pipeline(struct vpfe_video_device *video)
static int vpfe_update_pipe_state(struct vpfe_video_device *video) static int vpfe_update_pipe_state(struct vpfe_video_device *video)
{ {
struct vpfe_pipeline *pipe = &video->pipe; struct vpfe_pipeline *pipe = &video->pipe;
int ret;
if (vpfe_prepare_pipeline(video)) ret = vpfe_prepare_pipeline(video);
return vpfe_prepare_pipeline(video); if (ret)
return ret;
/* /*
* Find out if there is any input video * Find out if there is any input video
...@@ -182,9 +184,10 @@ static int vpfe_update_pipe_state(struct vpfe_video_device *video) ...@@ -182,9 +184,10 @@ static int vpfe_update_pipe_state(struct vpfe_video_device *video)
*/ */
if (pipe->input_num == 0) { if (pipe->input_num == 0) {
pipe->state = VPFE_PIPELINE_STREAM_CONTINUOUS; pipe->state = VPFE_PIPELINE_STREAM_CONTINUOUS;
if (vpfe_update_current_ext_subdev(video)) { ret = vpfe_update_current_ext_subdev(video);
if (ret) {
pr_err("Invalid external subdev\n"); pr_err("Invalid external subdev\n");
return vpfe_update_current_ext_subdev(video); return ret;
} }
} else { } else {
pipe->state = VPFE_PIPELINE_STREAM_SINGLESHOT; pipe->state = VPFE_PIPELINE_STREAM_SINGLESHOT;
...@@ -667,6 +670,7 @@ static int vpfe_enum_fmt(struct file *file, void *priv, ...@@ -667,6 +670,7 @@ static int vpfe_enum_fmt(struct file *file, void *priv,
struct v4l2_subdev *subdev; struct v4l2_subdev *subdev;
struct v4l2_format format; struct v4l2_format format;
struct media_pad *remote; struct media_pad *remote;
int ret;
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_enum_fmt\n"); v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_enum_fmt\n");
...@@ -695,10 +699,11 @@ static int vpfe_enum_fmt(struct file *file, void *priv, ...@@ -695,10 +699,11 @@ static int vpfe_enum_fmt(struct file *file, void *priv,
sd_fmt.pad = remote->index; sd_fmt.pad = remote->index;
sd_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE; sd_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE;
/* get output format of remote subdev */ /* get output format of remote subdev */
if (v4l2_subdev_call(subdev, pad, get_fmt, NULL, &sd_fmt)) { ret = v4l2_subdev_call(subdev, pad, get_fmt, NULL, &sd_fmt);
if (ret) {
v4l2_err(&vpfe_dev->v4l2_dev, v4l2_err(&vpfe_dev->v4l2_dev,
"invalid remote subdev for video node\n"); "invalid remote subdev for video node\n");
return v4l2_subdev_call(subdev, pad, get_fmt, NULL, &sd_fmt); return ret;
} }
/* convert to pix format */ /* convert to pix format */
mbus.code = sd_fmt.format.code; mbus.code = sd_fmt.format.code;
...@@ -725,6 +730,7 @@ static int vpfe_s_fmt(struct file *file, void *priv, ...@@ -725,6 +730,7 @@ static int vpfe_s_fmt(struct file *file, void *priv,
struct vpfe_video_device *video = video_drvdata(file); struct vpfe_video_device *video = video_drvdata(file);
struct vpfe_device *vpfe_dev = video->vpfe_dev; struct vpfe_device *vpfe_dev = video->vpfe_dev;
struct v4l2_format format; struct v4l2_format format;
int ret;
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_s_fmt\n"); v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_s_fmt\n");
/* If streaming is started, return error */ /* If streaming is started, return error */
...@@ -733,8 +739,9 @@ static int vpfe_s_fmt(struct file *file, void *priv, ...@@ -733,8 +739,9 @@ static int vpfe_s_fmt(struct file *file, void *priv,
return -EBUSY; return -EBUSY;
} }
/* get adjacent subdev's output pad format */ /* get adjacent subdev's output pad format */
if (__vpfe_video_get_format(video, &format)) ret = __vpfe_video_get_format(video, &format);
return __vpfe_video_get_format(video, &format); if (ret)
return ret;
*fmt = format; *fmt = format;
video->fmt = *fmt; video->fmt = *fmt;
return 0; return 0;
...@@ -757,11 +764,13 @@ static int vpfe_try_fmt(struct file *file, void *priv, ...@@ -757,11 +764,13 @@ static int vpfe_try_fmt(struct file *file, void *priv,
struct vpfe_video_device *video = video_drvdata(file); struct vpfe_video_device *video = video_drvdata(file);
struct vpfe_device *vpfe_dev = video->vpfe_dev; struct vpfe_device *vpfe_dev = video->vpfe_dev;
struct v4l2_format format; struct v4l2_format format;
int ret;
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_try_fmt\n"); v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_try_fmt\n");
/* get adjacent subdev's output pad format */ /* get adjacent subdev's output pad format */
if (__vpfe_video_get_format(video, &format)) ret = __vpfe_video_get_format(video, &format);
return __vpfe_video_get_format(video, &format); if (ret)
return ret;
*fmt = format; *fmt = format;
return 0; return 0;
...@@ -838,8 +847,9 @@ static int vpfe_s_input(struct file *file, void *priv, unsigned int index) ...@@ -838,8 +847,9 @@ static int vpfe_s_input(struct file *file, void *priv, unsigned int index)
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_s_input\n"); v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_s_input\n");
if (mutex_lock_interruptible(&video->lock)) ret = mutex_lock_interruptible(&video->lock);
return mutex_lock_interruptible(&video->lock); if (ret)
return ret;
/* /*
* If streaming is started return device busy * If streaming is started return device busy
* error * error
...@@ -940,8 +950,9 @@ static int vpfe_s_std(struct file *file, void *priv, v4l2_std_id std_id) ...@@ -940,8 +950,9 @@ static int vpfe_s_std(struct file *file, void *priv, v4l2_std_id std_id)
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_s_std\n"); v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_s_std\n");
/* Call decoder driver function to set the standard */ /* Call decoder driver function to set the standard */
if (mutex_lock_interruptible(&video->lock)) ret = mutex_lock_interruptible(&video->lock);
return mutex_lock_interruptible(&video->lock); if (ret)
return ret;
sdinfo = video->current_ext_subdev; sdinfo = video->current_ext_subdev;
/* If streaming is started, return device busy error */ /* If streaming is started, return device busy error */
if (video->started) { if (video->started) {
...@@ -1327,8 +1338,9 @@ static int vpfe_reqbufs(struct file *file, void *priv, ...@@ -1327,8 +1338,9 @@ static int vpfe_reqbufs(struct file *file, void *priv,
return -EINVAL; return -EINVAL;
} }
if (mutex_lock_interruptible(&video->lock)) ret = mutex_lock_interruptible(&video->lock);
return mutex_lock_interruptible(&video->lock); if (ret)
return ret;
if (video->io_usrs != 0) { if (video->io_usrs != 0) {
v4l2_err(&vpfe_dev->v4l2_dev, "Only one IO user allowed\n"); v4l2_err(&vpfe_dev->v4l2_dev, "Only one IO user allowed\n");
...@@ -1354,10 +1366,11 @@ static int vpfe_reqbufs(struct file *file, void *priv, ...@@ -1354,10 +1366,11 @@ static int vpfe_reqbufs(struct file *file, void *priv,
q->buf_struct_size = sizeof(struct vpfe_cap_buffer); q->buf_struct_size = sizeof(struct vpfe_cap_buffer);
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
if (vb2_queue_init(q)) { ret = vb2_queue_init(q);
if (ret) {
v4l2_err(&vpfe_dev->v4l2_dev, "vb2_queue_init() failed\n"); v4l2_err(&vpfe_dev->v4l2_dev, "vb2_queue_init() failed\n");
vb2_dma_contig_cleanup_ctx(vpfe_dev->pdev); vb2_dma_contig_cleanup_ctx(vpfe_dev->pdev);
return vb2_queue_init(q); return ret;
} }
fh->io_allowed = 1; fh->io_allowed = 1;
...@@ -1533,8 +1546,9 @@ static int vpfe_streamoff(struct file *file, void *priv, ...@@ -1533,8 +1546,9 @@ static int vpfe_streamoff(struct file *file, void *priv,
return -EINVAL; return -EINVAL;
} }
if (mutex_lock_interruptible(&video->lock)) ret = mutex_lock_interruptible(&video->lock);
return mutex_lock_interruptible(&video->lock); if (ret)
return ret;
vpfe_stop_capture(video); vpfe_stop_capture(video);
ret = vb2_streamoff(&video->buffer_queue, buf_type); ret = vb2_streamoff(&video->buffer_queue, buf_type);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment