Эх сурвалжийг харах

msm: camera: common: Fix return conditions in the camera driver

Fix return conditions in the camera driver.

CRs-Fixed: 3324123
Change-Id: I24b95dc8972fea4541ba01efe1b616062cd144ed
Signed-off-by: Chandan Kumar Jha <[email protected]>
Chandan Kumar Jha 2 жил өмнө
parent
commit
92dda935d8

+ 6 - 1
drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c

@@ -3998,6 +3998,7 @@ static int cam_ife_csid_ver2_csi2_irq_subscribe(struct cam_ife_csid_ver2_hw *csi
 		CAM_ERR(CAM_ISP, "CSID[%d] RX Subscribe Top Irq fail",
 			csid_hw->hw_intf->hw_idx);
 		rc = -EINVAL;
+		goto err;
 	}
 
 	rc = cam_irq_controller_register_dependent(csid_hw->top_irq_controller,
@@ -4058,7 +4059,7 @@ unsub_top:
 	cam_irq_controller_unsubscribe_irq(csid_hw->top_irq_controller,
 			csid_hw->rx_cfg.top_irq_handle);
 	csid_hw->rx_cfg.top_irq_handle = 0;
-
+err:
 	return rc;
 }
 
@@ -4508,6 +4509,10 @@ static int cam_ife_csid_ver2_disable_core(
 		rc = cam_irq_controller_unsubscribe_irq(
 			csid_hw->top_irq_controller,
 			csid_hw->reset_irq_handle);
+		if (rc)
+			CAM_WARN(CAM_ISP,
+				"CSID:%d Failed to unsubscribe reset irq",
+				csid_hw->hw_intf->hw_idx);
 		csid_hw->reset_irq_handle = 0;
 	}
 

+ 10 - 1
drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_wr.c

@@ -1653,8 +1653,17 @@ static int cam_sfe_bus_start_sfe_out(
 	CAM_DBG(CAM_SFE, "Start SFE:%d out_type:0x%X",
 		rsrc_data->common_data->core_index, rsrc_data->out_type);
 
-	for (i = 0; i < rsrc_data->num_wm; i++)
+	for (i = 0; i < rsrc_data->num_wm; i++) {
 		rc = cam_sfe_bus_start_wm(&rsrc_data->wm_res[i]);
+		if (rc) {
+			CAM_ERR(CAM_SFE,
+				"SFE:%d Start Failed for out_type:0x%X",
+				sfe_out->res_state, rsrc_data->common_data->core_index,
+				rsrc_data->out_type);
+
+			return rc;
+		}
+	}
 
 	memset(bus_irq_reg_mask, 0, sizeof(bus_irq_reg_mask));
 	rc = cam_sfe_bus_start_comp_grp(rsrc_data->comp_grp,

+ 3 - 0
drivers/cam_jpeg/jpeg_hw/cam_jpeg_hw_mgr.c

@@ -441,6 +441,9 @@ static int cam_jpeg_mgr_bottom_half_irq(void *priv, void *data)
 			g_jpeg_hw_mgr.devices[dev_type][0]->hw_priv,
 			CAM_JPEG_CMD_DUMP_HW_MISR_VAL, &misr_args,
 			sizeof(struct cam_jpeg_misr_dump_args));
+		if (rc)
+			CAM_WARN_RATE_LIMIT(CAM_JPEG, "jpeg and camnoc hw misr enable failed %d",
+				rc);
 	}
 
 	/* If we have processed just plane 1 for jpeg dma,