Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915: don't try to retrain a DP link on an inactive CRTC

Atm we may retrain the DP link even if the CRTC is inactive through
HPD work->intel_dp_check_link_status(). This in turn can lock up the PHY
(at least on BYT), since the DP port is disabled.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81948
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: stable@vger.kernel.org (3.16+)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

authored by

Imre Deak and committed by
Jani Nikula
1a125d8a 07f9cd0b

+3
+3
drivers/gpu/drm/i915/intel_dp.c
··· 3553 3553 if (WARN_ON(!intel_encoder->base.crtc)) 3554 3554 return; 3555 3555 3556 + if (!to_intel_crtc(intel_encoder->base.crtc)->active) 3557 + return; 3558 + 3556 3559 /* Try to read receiver status if the link appears to be up */ 3557 3560 if (!intel_dp_get_link_status(intel_dp, link_status)) { 3558 3561 return;