drm/msm: avoid false-positive -Wmaybe-uninitialized warning
authorArnd Bergmann <arnd@arndb.de>
Mon, 4 Dec 2017 14:44:23 +0000 (15:44 +0100)
committerRob Clark <robdclark@gmail.com>
Wed, 13 Dec 2017 16:11:55 +0000 (11:11 -0500)
gcc-8 -fsanitize-coverage=trace-pc produces a false-positive warning:

drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c: In function 'mdp5_plane_mode_set.isra.8':
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c:1053:3: error: 'crtc_x_r' may be used uninitialized in this function [-Werror=maybe-uninitialized]

It's relatively clear from reading the source that this cannot happen,
and older compilers get it right. This rearranges the code remove
the two affected variables, which reliably avoids the problem.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c

index ee41423baeb7c9db07cb5152e655fc6060d4826c..29678876fc094f3f01cd59fd10a6af8bcd667c8a 100644 (file)
@@ -966,8 +966,6 @@ static int mdp5_plane_mode_set(struct drm_plane *plane,
        uint32_t src_x, src_y;
        uint32_t src_w, src_h;
        uint32_t src_img_w, src_img_h;
-       uint32_t src_x_r;
-       int crtc_x_r;
        int ret;
 
        nplanes = fb->format->num_planes;
@@ -1012,9 +1010,6 @@ static int mdp5_plane_mode_set(struct drm_plane *plane,
                crtc_w /= 2;
                src_w /= 2;
                src_img_w /= 2;
-
-               crtc_x_r = crtc_x + crtc_w;
-               src_x_r = src_x + src_w;
        }
 
        ret = calc_scalex_steps(plane, pix_format, src_w, crtc_w, step.x);
@@ -1054,9 +1049,9 @@ static int mdp5_plane_mode_set(struct drm_plane *plane,
        if (right_hwpipe)
                mdp5_hwpipe_mode_set(mdp5_kms, right_hwpipe, fb, &step, &pe,
                                     config, hdecm, vdecm, hflip, vflip,
-                                    crtc_x_r, crtc_y, crtc_w, crtc_h,
+                                    crtc_x + crtc_w, crtc_y, crtc_w, crtc_h,
                                     src_img_w, src_img_h,
-                                    src_x_r, src_y, src_w, src_h);
+                                    src_x + src_w, src_y, src_w, src_h);
 
        plane->fb = fb;