summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-07-12 15:00:20 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2015-07-12 15:00:20 -0700
commit01e2d0627a9a6edb24c37db45db5ecb31e9de808 (patch)
tree87d0a8b5992eda258ccf13d8080504188165446d /drivers/gpu
parentc83727a6565278dd330748daac046721284adfc2 (diff)
downloadlinux-stable-01e2d0627a9a6edb24c37db45db5ecb31e9de808.tar.gz
linux-stable-01e2d0627a9a6edb24c37db45db5ecb31e9de808.tar.bz2
linux-stable-01e2d0627a9a6edb24c37db45db5ecb31e9de808.zip
Revert "drm/i915: Use crtc_state->active in primary check_plane func"
This reverts commit dec4f799d0a4c9edae20512fa60b0a36f3299ca2. Jörg Otte reports a NULL pointder dereference due to this commit, as 'crtc_state' very much can be NULL: crtc_state = state->base.state ? intel_atomic_get_crtc_state(state->base.state, intel_crtc) : NULL; So the change to test 'crtc_state->base.active' cannot possibly be correct as-is. There may be some other minimal fix (like just checking crtc_state for NULL), but I'm just reverting it now for the rc2 release, and people like Daniel Vetter who actually know this code will figure out what the right solution is in the longer term. Reported-and-bisected-by: Jörg Otte <jrg.otte@gmail.com> Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Daniel Vetter <daniel.vetter@intel.com> CC: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index ba9321998a41..647b1404c441 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13276,7 +13276,7 @@ intel_check_primary_plane(struct drm_plane *plane,
if (ret)
return ret;
- if (crtc_state->base.active) {
+ if (intel_crtc->active) {
struct intel_plane_state *old_state =
to_intel_plane_state(plane->state);