|
@@ -5362,6 +5362,11 @@ static int __cam_isp_ctx_stop_dev_in_activated_unlock(
|
|
(struct cam_isp_context *) ctx->ctx_priv;
|
|
(struct cam_isp_context *) ctx->ctx_priv;
|
|
struct cam_isp_stop_args stop_isp;
|
|
struct cam_isp_stop_args stop_isp;
|
|
|
|
|
|
|
|
+ /* Mask off all the incoming hardware events */
|
|
|
|
+ spin_lock_bh(&ctx->lock);
|
|
|
|
+ ctx_isp->substate_activated = CAM_ISP_CTX_ACTIVATED_HALT;
|
|
|
|
+ spin_unlock_bh(&ctx->lock);
|
|
|
|
+
|
|
/* stop hw first */
|
|
/* stop hw first */
|
|
if (ctx_isp->hw_ctx) {
|
|
if (ctx_isp->hw_ctx) {
|
|
stop.ctxt_to_hw_map = ctx_isp->hw_ctx;
|
|
stop.ctxt_to_hw_map = ctx_isp->hw_ctx;
|
|
@@ -5374,10 +5379,6 @@ static int __cam_isp_ctx_stop_dev_in_activated_unlock(
|
|
&stop);
|
|
&stop);
|
|
}
|
|
}
|
|
|
|
|
|
- /* Mask off all the incoming hardware events */
|
|
|
|
- spin_lock_bh(&ctx->lock);
|
|
|
|
- ctx_isp->substate_activated = CAM_ISP_CTX_ACTIVATED_HALT;
|
|
|
|
- spin_unlock_bh(&ctx->lock);
|
|
|
|
CAM_DBG(CAM_ISP, "next Substate[%s]",
|
|
CAM_DBG(CAM_ISP, "next Substate[%s]",
|
|
__cam_isp_ctx_substate_val_to_type(
|
|
__cam_isp_ctx_substate_val_to_type(
|
|
ctx_isp->substate_activated));
|
|
ctx_isp->substate_activated));
|