[media] rcar-vin: do not use v4l2_device_call_until_err()
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Mon, 15 Aug 2016 15:06:31 +0000 (12:06 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 23 Aug 2016 17:46:19 +0000 (14:46 -0300)
Fix a error from the original driver where v4l2_device_call_until_err()
where used for the pad specific v4l2 operation set_fmt.  Also fix up the
error path from this fix so if there is an error it will be propagated
to the caller.

The error path label have also been renamed as a result from a
nitpicking review comment since we are fixing other issues here.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/platform/rcar-vin/rcar-v4l2.c

index 72fe6bc7bdce5fa6cab2af5c9b8e9f4e1665d3e7..3f80a0b0bd4979bce831d58d8101b559e6cdfcd1 100644 (file)
@@ -114,10 +114,9 @@ static int __rvin_try_format_source(struct rvin_dev *vin,
 
        format.pad = vin->src_pad_idx;
 
-       ret = v4l2_device_call_until_err(sd->v4l2_dev, 0, pad, set_fmt,
-                                        pad_cfg, &format);
-       if (ret < 0)
-               goto cleanup;
+       ret = v4l2_subdev_call(sd, pad, set_fmt, pad_cfg, &format);
+       if (ret < 0 && ret != -ENOIOCTLCMD)
+               goto done;
 
        v4l2_fill_pix_format(pix, &format.format);
 
@@ -127,9 +126,9 @@ static int __rvin_try_format_source(struct rvin_dev *vin,
        vin_dbg(vin, "Source resolution: %ux%u\n", source->width,
                source->height);
 
-cleanup:
+done:
        v4l2_subdev_free_pad_config(pad_cfg);
-       return 0;
+       return ret;
 }
 
 static int __rvin_try_format(struct rvin_dev *vin,