drm/i915/psr: Fix warning in intel_psr_activate()
authorDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Mon, 18 Jun 2018 22:02:07 +0000 (15:02 -0700)
committerDhinakaran Pandiyan <dhinakaran.pandiyan@gmail.com>
Wed, 20 Jun 2018 17:48:15 +0000 (10:48 -0700)
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
drivers/gpu/drm/i915/intel_psr.c

index ef0f4741a95d2efb4a16f6db58451f878b0cf9d9..d4cd19fea148f1bcdc87dd618f73d42b219bb1ab 100644 (file)
@@ -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)