mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
disp: msm: sde: avoid rc restart when triggered from panel dead
This change prevents scheduling of rc_restart in case of panel dead. This early return is required to avoid the list add corruption when a race condition happens between event thread and commit thread. When event thread is handling display failure notification if the virt_enable arrives in commit thread it will reinizialize kthread for delayed_off_work without deactivating the existing list which leads to linkage corruption. Change-Id: I41d08cd47ba6f887f0860e52bcddf414085524bb Signed-off-by: Mahadevan <mahap@codeaurora.org>
This commit is contained in:
parent
87440766f3
commit
08d04c2f3b
1 changed files with 5 additions and 1 deletions
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2014-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2014-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (C) 2013 Red Hat
|
||||
* Author: Rob Clark <robdclark@gmail.com>
|
||||
*
|
||||
|
|
@ -1626,6 +1626,10 @@ static void _sde_encoder_rc_restart_delayed(struct sde_encoder_virt *sde_enc,
|
|||
unsigned int lp, idle_pc_duration;
|
||||
struct msm_drm_thread *disp_thread;
|
||||
|
||||
/* return early if called from esd thread */
|
||||
if (!sde_enc->delay_kickoff)
|
||||
return;
|
||||
|
||||
/* set idle timeout based on master connector's lp value */
|
||||
if (sde_enc->cur_master)
|
||||
lp = sde_connector_get_lp(
|
||||
|
|
|
|||
Loading…
Reference in a new issue