[media] media: exynos-gsc: fix build warning
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 25 Nov 2014 15:04:16 +0000 (12:04 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 4 Dec 2014 14:50:44 +0000 (12:50 -0200)
Fixes following build warnings:

gsc-core.c:350:17: warning: 'low_plane' may be used uninitialized
gsc-core.c:371:31: warning: 'high_plane' may be used uninitialized

Reported-by: Prabhakar Lad <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/exynos-gsc/gsc-core.c

index 91d226b..3062e9f 100644 (file)
@@ -319,21 +319,22 @@ int gsc_enum_fmt_mplane(struct v4l2_fmtdesc *f)
        return 0;
 }
 
-static u32 get_plane_info(struct gsc_frame *frm, u32 addr, u32 *index)
+static int get_plane_info(struct gsc_frame *frm, u32 addr, u32 *index, u32 *ret_addr)
 {
        if (frm->addr.y == addr) {
                *index = 0;
-               return frm->addr.y;
+               *ret_addr = frm->addr.y;
        } else if (frm->addr.cb == addr) {
                *index = 1;
-               return frm->addr.cb;
+               *ret_addr = frm->addr.cb;
        } else if (frm->addr.cr == addr) {
                *index = 2;
-               return frm->addr.cr;
+               *ret_addr = frm->addr.cr;
        } else {
                pr_err("Plane address is wrong");
                return -EINVAL;
        }
+       return 0;
 }
 
 void gsc_set_prefbuf(struct gsc_dev *gsc, struct gsc_frame *frm)
@@ -352,9 +353,11 @@ void gsc_set_prefbuf(struct gsc_dev *gsc, struct gsc_frame *frm)
                u32 t_min, t_max;
 
                t_min = min3(frm->addr.y, frm->addr.cb, frm->addr.cr);
-               low_addr = get_plane_info(frm, t_min, &low_plane);
+               if (get_plane_info(frm, t_min, &low_plane, &low_addr))
+                       return;
                t_max = max3(frm->addr.y, frm->addr.cb, frm->addr.cr);
-               high_addr = get_plane_info(frm, t_max, &high_plane);
+               if (get_plane_info(frm, t_max, &high_plane, &high_addr))
+                       return;
 
                mid_plane = 3 - (low_plane + high_plane);
                if (mid_plane == 0)