diff --git a/platform/mipi_csi/mipi_v4l2_adapter.c b/platform/mipi_csi/mipi_v4l2_adapter.c index d3eb584eb3f4c86b0930fba62460a1dfdfbd87d2..f49d5a9053f966eb74244ba4ec162c2bf670379b 100644 --- a/platform/mipi_csi/mipi_v4l2_adapter.c +++ b/platform/mipi_csi/mipi_v4l2_adapter.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -254,11 +255,17 @@ static int LinuxInitControls(struct AdapterDrvData *drvData) ImgRect *rect = &(drvData->attr->imgRect); if (ctrl_hdlr == NULL) { + ctrl_hdlr = kzalloc(sizeof(*ctrl_hdlr), GFP_KERNEL); + if (!ctrl_hdlr) { + HDF_LOGE("%s: [kzalloc] failed.", __func__); + return -ENOMEM; + } ret = v4l2_ctrl_handler_init(ctrl_hdlr, CTRLS_COUNT); if (ret) { HDF_LOGE("%s: [v4l2_ctrl_handler_init] failed.", __func__); return ret; } + camera->ctrl_handler = ctrl_hdlr; } ctrl_hdlr->lock = &drvData->mutex; if (camera->link_freq == NULL) {