|
@@ -1636,10 +1636,9 @@ static int ov7670_probe(struct i2c_client *client,
|
|
|
V4L2_EXPOSURE_AUTO);
|
|
|
sd->ctrl_handler = &info->hdl;
|
|
|
if (info->hdl.error) {
|
|
|
- int err = info->hdl.error;
|
|
|
+ ret = info->hdl.error;
|
|
|
|
|
|
- v4l2_ctrl_handler_free(&info->hdl);
|
|
|
- return err;
|
|
|
+ goto hdl_free;
|
|
|
}
|
|
|
/*
|
|
|
* We have checked empirically that hw allows to read back the gain
|
|
@@ -1651,7 +1650,15 @@ static int ov7670_probe(struct i2c_client *client,
|
|
|
v4l2_ctrl_cluster(2, &info->saturation);
|
|
|
v4l2_ctrl_handler_setup(&info->hdl);
|
|
|
|
|
|
+ ret = v4l2_async_register_subdev(&info->sd);
|
|
|
+ if (ret < 0)
|
|
|
+ goto hdl_free;
|
|
|
+
|
|
|
return 0;
|
|
|
+
|
|
|
+hdl_free:
|
|
|
+ v4l2_ctrl_handler_free(&info->hdl);
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
|