drm/msm: fix unsigned comparison with less than zero
authorColin Ian King <colin.king@canonical.com>
Tue, 21 Aug 2018 11:55:19 +0000 (12:55 +0100)
committerRob Clark <robdclark@gmail.com>
Thu, 4 Oct 2018 00:24:54 +0000 (20:24 -0400)
The return from the call to _mixer_stages can be a negative error
code however this is being assigned to an unsigned variable 'stages'
hence the check is always false. Fix this by making 'stages' an
int.

Detected by Coccinelle ("Unsigned expression compared with zero:
stages < 0")

Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c

index b394a1818c5d02bfae8cc97344006259e56c27a2..eec1051f2afc4593d20ffecec59af8beb13bb020 100644 (file)
@@ -297,7 +297,7 @@ static void dpu_hw_ctl_setup_blendstage(struct dpu_hw_ctl *ctx,
        u32 mixercfg = 0, mixercfg_ext = 0, mix, ext;
        u32 mixercfg_ext2 = 0, mixercfg_ext3 = 0;
        int i, j;
-       u8 stages;
+       int stages;
        int pipes_per_stage;
 
        stages = _mixer_stages(ctx->mixer_hw_caps, ctx->mixer_count, lm);