summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_psr.c
diff options
context:
space:
mode:
authorDhinakaran Pandiyan2018-06-19 00:02:07 +0200
committerDhinakaran Pandiyan2018-06-20 19:48:15 +0200
commit98fa2aecb5096bbeb18f6509ffd181aafe4d267d (patch)
tree4553475595086e222a380dc7d0e4aa10d91d3b09 /drivers/gpu/drm/i915/intel_psr.c
parentdrm/i915/selftests: Avoid ERR_PTR dereference (diff)
downloadkernel-qcow2-linux-98fa2aecb5096bbeb18f6509ffd181aafe4d267d.tar.gz
kernel-qcow2-linux-98fa2aecb5096bbeb18f6509ffd181aafe4d267d.tar.xz
kernel-qcow2-linux-98fa2aecb5096bbeb18f6509ffd181aafe4d267d.zip
drm/i915/psr: Fix warning in intel_psr_activate()
commit 5422b37c907e ("drm/i915/psr: Kill delays when activating psr back.") removed the call to cancel a scheduled psr_work from psr_disable() and instead added an early return in the work function. But, if the scheduled work item is executed after psr_enable(), we end up printing warnings as PSR is already enabled and active. So, put the cancel_work call back in psr_disable(). Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: José Roberto de Souza <jose.souza@intel.com> Fixes: 5422b37c907e ("drm/i915/psr: Kill delays when activating psr back.") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106948 Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180618220207.2778-1-dhinakaran.pandiyan@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_psr.c')
-rw-r--r--drivers/gpu/drm/i915/intel_psr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index ef0f4741a95d..d4cd19fea148 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -754,6 +754,7 @@ void intel_psr_disable(struct intel_dp *intel_dp,
dev_priv->psr.enabled = NULL;
mutex_unlock(&dev_priv->psr.lock);
+ cancel_work_sync(&dev_priv->psr.work);
}
static bool psr_wait_for_idle(struct drm_i915_private *dev_priv)