mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 01:01:56 -04:00
msm: camera: isp: CSID Tasklet stop sequence
Handle race for tasklet stop. Changed the sequence of tasklet stop call to avoid unclocked register accesses on tasklet stop/flush. CRs-Fixed: 3010894 Change-Id: Ieec9f20db127b2bebec0bb40ec437b4eb3d3d9dd Signed-off-by: Yash Upadhyay <yupadhya@codeaurora.org>
This commit is contained in:
parent
b7de35c284
commit
56b3486384
2 changed files with 4 additions and 2 deletions
|
|
@ -1589,12 +1589,13 @@ static int cam_ife_csid_disable_hw(struct cam_ife_csid_hw *csid_hw)
|
|||
cam_io_w_mb(0, soc_info->reg_map[0].mem_base +
|
||||
csid_reg->cmn_reg->csid_top_irq_mask_addr);
|
||||
|
||||
cam_tasklet_stop(csid_hw->tasklet);
|
||||
|
||||
rc = cam_ife_csid_disable_soc_resources(soc_info);
|
||||
if (rc)
|
||||
CAM_ERR(CAM_ISP, "CSID:%d Disable CSID SOC failed",
|
||||
csid_hw->hw_intf->hw_idx);
|
||||
|
||||
cam_tasklet_stop(csid_hw->tasklet);
|
||||
spin_lock_irqsave(&csid_hw->lock_state, flags);
|
||||
csid_hw->device_enabled = 0;
|
||||
spin_unlock_irqrestore(&csid_hw->lock_state, flags);
|
||||
|
|
|
|||
|
|
@ -1165,12 +1165,13 @@ static int cam_tfe_csid_disable_hw(struct cam_tfe_csid_hw *csid_hw)
|
|||
cam_io_w_mb(0, soc_info->reg_map[0].mem_base +
|
||||
csid_reg->cmn_reg->csid_top_irq_mask_addr);
|
||||
|
||||
cam_tasklet_stop(csid_hw->tasklet);
|
||||
|
||||
rc = cam_tfe_csid_disable_soc_resources(soc_info);
|
||||
if (rc)
|
||||
CAM_ERR(CAM_ISP, "CSID:%d Disable CSID SOC failed",
|
||||
csid_hw->hw_intf->hw_idx);
|
||||
|
||||
cam_tasklet_stop(csid_hw->tasklet);
|
||||
spin_lock_irqsave(&csid_hw->spin_lock, flags);
|
||||
csid_hw->device_enabled = 0;
|
||||
spin_unlock_irqrestore(&csid_hw->spin_lock, flags);
|
||||
|
|
|
|||
Loading…
Reference in a new issue