Hi Mauro, Hi Hans Thanks for taking a look at this. On Wed, Dec 12, 2018 at 6:55 PM Hans Verkuil <hverkuil-cisco@xxxxxxxxx> wrote: > > On 12/7/18 12:43 PM, Mauro Carvalho Chehab wrote: > > As warned by smatch: > > drivers/media/i2c/imx214.c:591 imx214_set_format() warn: variable dereferenced before check 'format' (see line 589) > > > > It turns that the code at imx214_set_format() has support for being > > called with the format being NULL. I've no idea why, as it is only > > called internally with the pointer set, and via subdev API (with > > should also set it). > > > > Also, the entire logic there depends on having format != NULL, so > > just remove the bogus broken support for a null format. I believe it is a relic for when I did not use imx214_entity_init_cfg. Sorry about that. > > > > Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> > > Reviewed-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> > Reviewed-by: Ricardo Ribalda Delgado <ricardo@xxxxxxxxxxx> Best Regards > Regards, > > Hans > > > --- > > drivers/media/i2c/imx214.c | 10 ++++------ > > 1 file changed, 4 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/media/i2c/imx214.c b/drivers/media/i2c/imx214.c > > index ec3d1b855f62..b046a26219a4 100644 > > --- a/drivers/media/i2c/imx214.c > > +++ b/drivers/media/i2c/imx214.c > > @@ -588,12 +588,10 @@ static int imx214_set_format(struct v4l2_subdev *sd, > > > > __crop = __imx214_get_pad_crop(imx214, cfg, format->pad, format->which); > > > > - if (format) > > - mode = v4l2_find_nearest_size(imx214_modes, > > - ARRAY_SIZE(imx214_modes), width, height, > > - format->format.width, format->format.height); > > - else > > - mode = &imx214_modes[0]; > > + mode = v4l2_find_nearest_size(imx214_modes, > > + ARRAY_SIZE(imx214_modes), width, height, > > + format->format.width, > > + format->format.height); > > > > __crop->width = mode->width; > > __crop->height = mode->height; > > > -- Ricardo Ribalda