Hi Tomi, Thank you for the patch. On Thu, Jun 10, 2021 at 12:49:03PM +0300, Tomi Valkeinen wrote: > Rename check_cfg() to check_state_pads() as it is now checking the pads > of the state. > > Also fix the check so that it verifies that both state and state->pads > exist. > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > drivers/media/v4l2-core/v4l2-subdev.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v4l2-core/v4l2-subdev.c > index 25c80d6de23b..daf7ffdd8882 100644 > --- a/drivers/media/v4l2-core/v4l2-subdev.c > +++ b/drivers/media/v4l2-core/v4l2-subdev.c > @@ -148,9 +148,9 @@ static inline int check_pad(struct v4l2_subdev *sd, u32 pad) > return 0; > } > > -static int check_cfg(u32 which, struct v4l2_subdev_state *state) > +static int check_state_pads(u32 which, struct v4l2_subdev_state *state) > { > - if (which == V4L2_SUBDEV_FORMAT_TRY && !state) > + if (which == V4L2_SUBDEV_FORMAT_TRY && (!state || !state->pads)) > return -EINVAL; > > return 0; > @@ -164,7 +164,7 @@ static inline int check_format(struct v4l2_subdev *sd, > return -EINVAL; > > return check_which(format->which) ? : check_pad(sd, format->pad) ? : > - check_cfg(format->which, state); > + check_state_pads(format->which, state); > } > > static int call_get_fmt(struct v4l2_subdev *sd, > @@ -191,7 +191,7 @@ static int call_enum_mbus_code(struct v4l2_subdev *sd, > return -EINVAL; > > return check_which(code->which) ? : check_pad(sd, code->pad) ? : > - check_cfg(code->which, state) ? : > + check_state_pads(code->which, state) ? : > sd->ops->pad->enum_mbus_code(sd, state, code); > } > > @@ -203,7 +203,7 @@ static int call_enum_frame_size(struct v4l2_subdev *sd, > return -EINVAL; > > return check_which(fse->which) ? : check_pad(sd, fse->pad) ? : > - check_cfg(fse->which, state) ? : > + check_state_pads(fse->which, state) ? : > sd->ops->pad->enum_frame_size(sd, state, fse); > } > > @@ -238,7 +238,7 @@ static int call_enum_frame_interval(struct v4l2_subdev *sd, > return -EINVAL; > > return check_which(fie->which) ? : check_pad(sd, fie->pad) ? : > - check_cfg(fie->which, state) ? : > + check_state_pads(fie->which, state) ? : > sd->ops->pad->enum_frame_interval(sd, state, fie); > } > > @@ -250,7 +250,7 @@ static inline int check_selection(struct v4l2_subdev *sd, > return -EINVAL; > > return check_which(sel->which) ? : check_pad(sd, sel->pad) ? : > - check_cfg(sel->which, state); > + check_state_pads(sel->which, state); > } > > static int call_get_selection(struct v4l2_subdev *sd, -- Regards, Laurent Pinchart