Commit 31ee95ec authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mauro Carvalho Chehab

[media] adp1653: check error code of adp1653_init_controls

Potentially the adp1653_init_controls could return an error. In our case the
error was ignored, meanwhile it means incorrect initialization of V4L2
controls. Additionally we have to free control handler structures in case of
apd1653_init_controls or media_entity_init failure.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 57206428
...@@ -429,12 +429,19 @@ static int adp1653_probe(struct i2c_client *client, ...@@ -429,12 +429,19 @@ static int adp1653_probe(struct i2c_client *client,
flash->subdev.internal_ops = &adp1653_internal_ops; flash->subdev.internal_ops = &adp1653_internal_ops;
flash->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; flash->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
adp1653_init_controls(flash); ret = adp1653_init_controls(flash);
if (ret)
goto free_and_quit;
ret = media_entity_init(&flash->subdev.entity, 0, NULL, 0); ret = media_entity_init(&flash->subdev.entity, 0, NULL, 0);
if (ret < 0) if (ret < 0)
kfree(flash); goto free_and_quit;
return 0;
free_and_quit:
v4l2_ctrl_handler_free(&flash->ctrls);
kfree(flash);
return ret; return ret;
} }
......
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