drm/i915: avoid deadlock on failure paths in __intel_framebuffer_create()
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Fri, 7 Nov 2014 22:41:23 +0000 (01:41 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 14 Nov 2014 09:29:12 +0000 (10:29 +0100)
commit6ccb81f2171ab48592946efab0ce0fd41978f4ba
treea1bc8f4f26aa01089d1e20d26b1811e4f84cfeac
parente1f234bde6edb2bcdb763c90076b9484e4c71a33
drm/i915: avoid deadlock on failure paths in __intel_framebuffer_create()

Since a8bb6818270c __intel_framebuffer_create() is called
with struct_mutex held, so it should use drm_gem_object_unreference()
instead of drm_gem_object_unreference_unlocked().

Found by Linux Driver Verification project (linuxtesting.org).

This regression has been introduced in

commit a8bb6818270c32126dba0fd2ddb139d885c5687d
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Feb 10 18:00:39 2014 +0100

    drm/i915: Fix error path leak in fbdev fb allocation

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c