Commit 693035dc authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

media: vpbe_display: properly handle error case

if v4l2_subdev_call(..., VENC_GET_FLD,...) fails, it
currently returns a random value. Instead, return 1.

That's probably better than returning 0, as this is very
likely what happens in practice with the current code, as
as the probably of an unititialized 32 bits integer to
have an specific value (0, in this case), is 1/(2^32).

An alternative would be to return an error code, and
let the caller to hint, based on the past received
frame, but that sounds weird.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent bef6b894
...@@ -56,8 +56,7 @@ static int vpbe_set_osd_display_params(struct vpbe_display *disp_dev, ...@@ -56,8 +56,7 @@ static int vpbe_set_osd_display_params(struct vpbe_display *disp_dev,
static int venc_is_second_field(struct vpbe_display *disp_dev) static int venc_is_second_field(struct vpbe_display *disp_dev)
{ {
struct vpbe_device *vpbe_dev = disp_dev->vpbe_dev; struct vpbe_device *vpbe_dev = disp_dev->vpbe_dev;
int ret; int ret, val;
int val;
ret = v4l2_subdev_call(vpbe_dev->venc, ret = v4l2_subdev_call(vpbe_dev->venc,
core, core,
...@@ -67,6 +66,7 @@ static int venc_is_second_field(struct vpbe_display *disp_dev) ...@@ -67,6 +66,7 @@ static int venc_is_second_field(struct vpbe_display *disp_dev)
if (ret < 0) { if (ret < 0) {
v4l2_err(&vpbe_dev->v4l2_dev, v4l2_err(&vpbe_dev->v4l2_dev,
"Error in getting Field ID 0\n"); "Error in getting Field ID 0\n");
return 1;
} }
return val; return val;
} }
......
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