]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Bail if plane/crtc init fails
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 25 Oct 2016 15:58:02 +0000 (18:58 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 31 Oct 2016 14:56:32 +0000 (16:56 +0200)
commit28b12cf6134b6c92bf5100a5ff8863323dd12dd8
treed2934653aadccbe07ec5e91ff842e43335d433ac
parentf9c7a1db7c9577ca8c925ea8d9778d7e8ee62344
drm/i915: Bail if plane/crtc init fails

Due to the plane->index not getting readjusted in drm_plane_cleanup(),
we can't continue initialization of some plane/crtc init fails.
Well, we sort of could I suppose if we left all initialized planes on
the list, but that would expose those planes to userspace as well.

But for crtcs the situation is even worse since we assume that
pipe==crtc index occasionally, so we can't really deal with a partially
initialize set of crtcs.

So seems safest to just abort the entire thing if anything goes wrong.
All the failure paths here are kmalloc()s anyway, so it seems unlikely
we'd get very far if these start failing.

v2: Add (enum plane) case to silence gcc

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1477411083-19255-4-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_sprite.c