Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 798fed8b authored by Xiaowen Wu's avatar Xiaowen Wu
Browse files

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: default avatarXiaowen Wu <wxiaowen@codeaurora.org>
parent a7c91c2e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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",