[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:
parent
80d23ff6b3
commit
e2b5639714
1 changed files with 13 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in a new issue