Skip to content

Commit

Permalink
[media] adp1653: check error code of adp1653_init_controls
Browse files Browse the repository at this point in the history
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: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Andy Shevchenko authored and Mauro Carvalho Chehab committed Aug 6, 2011
1 parent 5720642 commit 31ee95e
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions drivers/media/video/adp1653.c
Original file line number Diff line number Diff line change
Expand Up @@ -429,12 +429,19 @@ static int adp1653_probe(struct i2c_client *client,
flash->subdev.internal_ops = &adp1653_internal_ops;
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);
if (ret < 0)
kfree(flash);
goto free_and_quit;

return 0;

free_and_quit:
v4l2_ctrl_handler_free(&flash->ctrls);
kfree(flash);
return ret;
}

Expand Down

0 comments on commit 31ee95e

Please sign in to comment.