Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e731569 authored by Gaurav Jindal's avatar Gaurav Jindal
Browse files

msm: camera: isp: Unlock spinlock in fatal error for CSID



While handling CSID fatal error, spin lock is not getting released.
Release the lock before handling the error.

Change-Id: I6e72206cadb3a979c8734d25c7bf1c1e020a5dc9
CRs-fixed: 2672737
Signed-off-by: default avatarGaurav Jindal <gjindal@codeaurora.org>
parent 40afc2d6
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -3353,7 +3353,8 @@ int cam_ife_csid_release(void *hw_priv,
			csid_hw->ipp_path_config.measure_enabled = 0;
		else if (res->res_id == CAM_IFE_PIX_PATH_RES_PPP)
			csid_hw->ppp_path_config.measure_enabled = 0;
		else
		else if (res->res_id >= CAM_IFE_PIX_PATH_RES_RDI_0 &&
				res->res_id <= CAM_IFE_PIX_PATH_RES_RDI_3)
			csid_hw->rdi_path_config[res->res_id].measure_enabled
				= 0;
		break;
@@ -4514,6 +4515,8 @@ irqreturn_t cam_ife_csid_irq(int irq_num, void *data)
			csid_hw->error_irq_count++;
		}
	}

handle_fatal_error:
	spin_unlock_irqrestore(&csid_hw->lock_state, flags);

	if (csid_hw->error_irq_count >
@@ -4522,8 +4525,6 @@ irqreturn_t cam_ife_csid_irq(int irq_num, void *data)
		csid_hw->error_irq_count = 0;
	}

handle_fatal_error:

	if (fatal_err_detected) {
		cam_ife_csid_halt_csi2(csid_hw);
		cam_csid_handle_hw_err_irq(csid_hw,