drm/i915: Do not dereference NULL crtc or fb until after checking
Fixes regression from
commit 4906557eb3
Author: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Date: Thu Jul 11 18:45:05 2013 -0300
drm/i915: Hook PSR functionality
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67526
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Родитель
257a7ffcfa
Коммит
cd234b0bfd
|
@ -1545,12 +1545,21 @@ static bool intel_edp_psr_match_conditions(struct intel_dp *intel_dp)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
crtc = dig_port->base.base.crtc;
|
||||||
|
if (crtc == NULL) {
|
||||||
|
DRM_DEBUG_KMS("crtc not active for PSR\n");
|
||||||
|
dev_priv->no_psr_reason = PSR_CRTC_NOT_ACTIVE;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
intel_crtc = to_intel_crtc(crtc);
|
||||||
if (!intel_crtc->active || !crtc->fb || !crtc->mode.clock) {
|
if (!intel_crtc->active || !crtc->fb || !crtc->mode.clock) {
|
||||||
DRM_DEBUG_KMS("crtc not active for PSR\n");
|
DRM_DEBUG_KMS("crtc not active for PSR\n");
|
||||||
dev_priv->no_psr_reason = PSR_CRTC_NOT_ACTIVE;
|
dev_priv->no_psr_reason = PSR_CRTC_NOT_ACTIVE;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
obj = to_intel_framebuffer(crtc->fb)->obj;
|
||||||
if (obj->tiling_mode != I915_TILING_X ||
|
if (obj->tiling_mode != I915_TILING_X ||
|
||||||
obj->fence_reg == I915_FENCE_REG_NONE) {
|
obj->fence_reg == I915_FENCE_REG_NONE) {
|
||||||
DRM_DEBUG_KMS("PSR condition failed: fb not tiled or fenced\n");
|
DRM_DEBUG_KMS("PSR condition failed: fb not tiled or fenced\n");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче