Hi Janusz, On Wed, May 15, 2019 at 12:48:21AM +0200, Janusz Krzysztofik wrote: > -static int check_crop(struct v4l2_subdev *sd, struct v4l2_subdev_crop *crop) > +static inline int check_pad(struct v4l2_subdev *sd, __u32 pad) > { > - if (crop->which != V4L2_SUBDEV_FORMAT_TRY && > - crop->which != V4L2_SUBDEV_FORMAT_ACTIVE) > +#if defined(CONFIG_MEDIA_CONTROLLER) > + if (sd->entity.num_pads && pad >= sd->entity.num_pads) One more comment. The num_pads doesn't really tell whether a given op is valid for a device. Well, in this case it would have to be a bug in the driver, but those do happen. How about checking for sd->entity.graph_obj.mdev instead? It's non-NULL if the entity is registered with a media device, i.e. when these callback functions are supposed to be called. -- Sakari Ailus sakari.ailus@xxxxxxxxxxxxxxx