diff --git a/drivers/cam_isp/isp_hw_mgr/hw_utils/cam_isp_packet_parser.c b/drivers/cam_isp/isp_hw_mgr/hw_utils/cam_isp_packet_parser.c index 3e39ce2fa5ad..fe6b43330b30 100644 --- a/drivers/cam_isp/isp_hw_mgr/hw_utils/cam_isp_packet_parser.c +++ b/drivers/cam_isp/isp_hw_mgr/hw_utils/cam_isp_packet_parser.c @@ -476,7 +476,7 @@ int cam_isp_add_io_buffers( struct cam_isp_hw_get_cmd_update update_buf; struct cam_isp_hw_get_wm_update wm_update; struct cam_isp_hw_get_wm_update bus_rd_update; - struct cam_hw_fence_map_entry *out_map_entries; + struct cam_hw_fence_map_entry *out_map_entries = NULL; struct cam_hw_fence_map_entry *in_map_entries; struct cam_isp_hw_get_cmd_update secure_mode; uint32_t kmd_buf_remain_size; @@ -738,6 +738,11 @@ int cam_isp_add_io_buffers( } io_cfg_used_bytes += update_buf.cmd.used_bytes; + if (!out_map_entries) { + CAM_ERR(CAM_ISP, "out_map_entries is NULL"); + rc = -EINVAL; + return rc; + } image_buf_addr = out_map_entries->image_buf_addr; diff --git a/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_rd.c b/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_rd.c index 7bed7948c5cf..4493d990edab 100644 --- a/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_rd.c +++ b/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_rd.c @@ -774,7 +774,7 @@ static int cam_sfe_bus_release_bus_rd(void *bus_priv, void *release_args, static int cam_sfe_bus_start_bus_rd( void *hw_priv, void *stop_hw_args, uint32_t arg_size) { - int rc, i; + int rc = -ENODEV, i; struct cam_isp_resource_node *sfe_bus_rd = NULL; struct cam_sfe_bus_rd_data *rsrc_data = NULL; struct cam_sfe_bus_rd_common_data *common_data = NULL; @@ -811,8 +811,9 @@ static int cam_sfe_bus_start_bus_rd( rc = cam_sfe_bus_start_rm(rsrc_data->rm_res[i]); /* TO DO Subscribe mask for buf_done */ + if (!rc) + sfe_bus_rd->res_state = CAM_ISP_RESOURCE_STATE_STREAMING; - sfe_bus_rd->res_state = CAM_ISP_RESOURCE_STATE_STREAMING; return rc; } diff --git a/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_wr.c b/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_wr.c index 5666b8df1479..b1c4ddb1b98b 100644 --- a/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_wr.c +++ b/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_wr.c @@ -937,6 +937,7 @@ static int cam_sfe_bus_acquire_sfe_out(void *priv, void *acquire_args, return -EINVAL; } + comp_grp_id = CAM_SFE_BUS_WR_COMP_GRP_MAX; out_acquire_args = &acq_args->sfe_out; format = out_acquire_args->out_port_info->format; diff --git a/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_top/cam_sfe_top.c b/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_top/cam_sfe_top.c index aabe64a87fd6..11b054918c6c 100644 --- a/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_top/cam_sfe_top.c +++ b/drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_top/cam_sfe_top.c @@ -866,7 +866,7 @@ static int cam_sfe_top_handle_irq_bottom_half( { int i; uint32_t irq_status[CAM_SFE_IRQ_REGISTERS_MAX] = {0}; - enum cam_sfe_hw_irq_status ret; + enum cam_sfe_hw_irq_status ret = CAM_SFE_IRQ_STATUS_MAX; struct cam_isp_hw_event_info evt_info; struct cam_isp_resource_node *res = handler_priv; struct cam_sfe_path_data *path_data = res->res_priv; @@ -1126,7 +1126,7 @@ int cam_sfe_top_init( memset(top_priv->last_vote, 0x0, sizeof(struct cam_axi_vote) * CAM_SFE_DELAY_BW_REDUCTION_NUM_FRAMES); memset(&top_priv->core_cfg, 0x0, - sizeof(struct cam_sfe_core_config_args)); + sizeof(struct cam_sfe_core_cfg)); CAM_DBG(CAM_SFE, "Initializing SFE [%u] top with hw_version: 0x%x", diff --git a/drivers/cam_sensor_module/cam_flash/cam_flash_core.c b/drivers/cam_sensor_module/cam_flash/cam_flash_core.c index caa1c83512ca..f50fb5da4e21 100644 --- a/drivers/cam_sensor_module/cam_flash/cam_flash_core.c +++ b/drivers/cam_sensor_module/cam_flash/cam_flash_core.c @@ -1748,7 +1748,7 @@ int cam_flash_pmic_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg) add_req.skip_before_applying |= SKIP_NEXT_FRAME; add_req.trigger_eof = true; - if ((flash_data->opcode != + if (flash_data && (flash_data->opcode != CAMERA_SENSOR_FLASH_OP_FIREDURATION)) add_req.skip_before_applying |= 1; else