drm: Fix error path in drm_mode_page_flip_ioctl()
authorImre Deak <imre.deak@intel.com>
Wed, 7 Sep 2016 17:23:45 +0000 (20:23 +0300)
committerJani Nikula <jani.nikula@intel.com>
Thu, 8 Sep 2016 08:57:13 +0000 (11:57 +0300)
This fixes the error path for platforms that don't define the new
page_flip_target() hook.

Fixes: c229bfbbd04 ("drm: Add page_flip_target CRTC hook v2")
Testcase: igt/kms_flip/basic-flip-vs-dpms
CC: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1473269025-16148-1-git-send-email-imre.deak@intel.com
drivers/gpu/drm/drm_crtc.c

index a33dab27bb0d27a9923ef1812b0a909aab37bae5..631691bae01d7f914844e2eac5b83d26e7e7da64 100644 (file)
@@ -2044,7 +2044,7 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
        }
 
 out:
-       if (ret)
+       if (ret && crtc->funcs->page_flip_target)
                drm_crtc_vblank_put(crtc);
        if (fb)
                drm_framebuffer_unreference(fb);