drm/msm/sde: re-init delayed work in sde encoder enable

When multidisplay is enabled, delayed_off_work can be submitted to
different crtc worker thread and violate kernel's rule for delayed
task that work must not be used with >1 worker.

This change will re-initialize the delayed work to allow it submitted
to different worker.

CRs-Fixed: 2267120
Change-Id: I65ff4bc67eed31bdfc86e308a9d8968f46c76b62
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
This commit is contained in:
Xiaowen Wu 2018-06-21 18:18:23 -04:00
parent a7c91c2ed7
commit 798fed8b1a

View File

@ -2937,6 +2937,8 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc)
"input handler registration failed, rc = %d\n", ret);
}
sde_enc->delayed_off_work.work.worker = NULL;
ret = sde_encoder_resource_control(drm_enc, SDE_ENC_RC_EVENT_KICKOFF);
if (ret) {
SDE_ERROR_ENC(sde_enc, "sde resource control failed: %d\n",