Tested-by: Meng Yi <meng.yi at nxp.com>

-----邮件原件-----
发件人: Dongsheng Wang [mailto:Dongsheng.Wang at freescale.com] 
发送时间: Tuesday, December 01, 2015 4:16 PM
收件人: airlied at linux.ie
抄送: stefan at agner.ch; dri-devel at lists.freedesktop.org; Jianwei Wang 
<jianwei.wang.chn at gmail.com>; Yi Meng-B56799 <B56799 at freescale.com>; Wang 
Dongsheng-B40534 <Dongsheng.Wang at freescale.com>
主题: [RESEND 1/3] drm: fsl-dcu: Fix no fb check bug

From: Jianwei Wang <jianwei.wang....@gmail.com>

For state->fb may be NULL in fsl_dcu_drm_plane_atomic_check function, if so, 
return -EINVAL. No need check in fsl_dcu_drm_plane_atomic_update anymore.

Signed-off-by: Jianwei Wang <jianwei.wang.chn at gmail.com>
Signed-off-by: Yi Meng <b56799 at freescale.com>
Signed-off-by: Wang Dongsheng <dongsheng.wang at freescale.com>
Tested-by: Stefan Agner <stefan at agner.ch>

diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c 
b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
index 51daaea..a8932a8 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
@@ -41,6 +41,9 @@ static int fsl_dcu_drm_plane_atomic_check(struct drm_plane 
*plane,  {
        struct drm_framebuffer *fb = state->fb;

+       if (!fb)
+               return -EINVAL;
+
        switch (fb->pixel_format) {
        case DRM_FORMAT_RGB565:
        case DRM_FORMAT_RGB888:
@@ -85,9 +88,6 @@ static void fsl_dcu_drm_plane_atomic_update(struct drm_plane 
*plane,
        unsigned int alpha, bpp;
        int index, ret;

-       if (!fb)
-               return;
-
        index = fsl_dcu_drm_plane_index(plane);
        if (index < 0)
                return;
--
2.1.0.27.g96db324

Reply via email to