From b3673cb6b933658ee450d640b29b9aef800fa23c Mon Sep 17 00:00:00 2001 From: Tejas Prajapati Date: Thu, 5 Nov 2020 14:17:56 +0530 Subject: [PATCH] msm: camera: reqmgr: update timer even after skip frame If Nth request has additional exposure timeout, after applying sensor settings for Nth request; CRM watchdog timer should be updated with the Nth requests additional timeout on next frame irrespective of skip frame to avoid sof freeze. CRs-Fixed: 2802634 Change-Id: Iae70df66f0a1c22c2410e4826aea964ffd6d887b Signed-off-by: Tejas Prajapati --- drivers/cam_req_mgr/cam_req_mgr_core.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/cam_req_mgr/cam_req_mgr_core.c b/drivers/cam_req_mgr/cam_req_mgr_core.c index fdbd9565ab49..9a300ca8479d 100644 --- a/drivers/cam_req_mgr/cam_req_mgr_core.c +++ b/drivers/cam_req_mgr/cam_req_mgr_core.c @@ -1746,6 +1746,7 @@ static int __cam_req_mgr_process_req(struct cam_req_mgr_core_link *link, } spin_unlock_bh(&link->link_state_spin_lock); __cam_req_mgr_notify_frame_skip(link, trigger); + __cam_req_mgr_validate_crm_wd_timer(link); goto end; } } @@ -3324,6 +3325,10 @@ static int cam_req_mgr_cb_notify_trigger( CAM_ERR_RATE_LIMIT(CAM_CRM, "no empty task frame %lld", trigger_data->frame_id); rc = -EBUSY; + spin_lock_bh(&link->link_state_spin_lock); + if ((link->watchdog) && !(link->watchdog->pause_timer)) + link->watchdog->pause_timer = true; + spin_unlock_bh(&link->link_state_spin_lock); goto end; } task_data = (struct crm_task_payload *)task->payload;