[media] v4l: mt9t001: fix clean up in case of power-on failures

If the driver fails to reset the camera or to set up control handlers, it
has to power the camera back off.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Guennadi Liakhovetski 2015-12-14 07:58:29 -02:00 committed by Mauro Carvalho Chehab
parent 80d23ff6b3
commit e2b5639714
1 changed files with 13 additions and 2 deletions

View File

@ -233,10 +233,21 @@ static int __mt9t001_set_power(struct mt9t001 *mt9t001, bool on)
ret = mt9t001_reset(mt9t001);
if (ret < 0) {
dev_err(&client->dev, "Failed to reset the camera\n");
return ret;
goto e_power;
}
return v4l2_ctrl_handler_setup(&mt9t001->ctrls);
ret = v4l2_ctrl_handler_setup(&mt9t001->ctrls);
if (ret < 0) {
dev_err(&client->dev, "Failed to set up control handlers\n");
goto e_power;
}
return 0;
e_power:
mt9t001_power_off(mt9t001);
return ret;
}
/* -----------------------------------------------------------------------------