drm/exynos: fix tests for valid FIMD window number
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Mon, 27 May 2013 09:56:26 +0000 (11:56 +0200)
committerInki Dae <daeinki@gmail.com>
Fri, 28 Jun 2013 12:11:48 +0000 (21:11 +0900)
Valid values for FIMD windows are from 0 to WINDOWS_NR-1
inclusive (5 windows in total). The WINDOWS_NR is also
a size of fimd_context.win_data array.
However, early-return tests for wrong values of windows
accepted a value of WINDOWS_NR which is out of bound
for fimd_context.win_data.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_fimd.c

index 97c61dbffd82ee36cfe2a92dfaf5b0b618ee07cd..279c3f8c3d4e15a1aa48871a0f9fe70557a9c6f9 100644 (file)
@@ -381,7 +381,7 @@ static void fimd_win_mode_set(struct device *dev,
        if (win == DEFAULT_ZPOS)
                win = ctx->default_win;
 
-       if (win < 0 || win > WINDOWS_NR)
+       if (win < 0 || win >= WINDOWS_NR)
                return;
 
        offset = overlay->fb_x * (overlay->bpp >> 3);
@@ -506,7 +506,7 @@ static void fimd_win_commit(struct device *dev, int zpos)
        if (win == DEFAULT_ZPOS)
                win = ctx->default_win;
 
-       if (win < 0 || win > WINDOWS_NR)
+       if (win < 0 || win >= WINDOWS_NR)
                return;
 
        win_data = &ctx->win_data[win];
@@ -622,7 +622,7 @@ static void fimd_win_disable(struct device *dev, int zpos)
        if (win == DEFAULT_ZPOS)
                win = ctx->default_win;
 
-       if (win < 0 || win > WINDOWS_NR)
+       if (win < 0 || win >= WINDOWS_NR)
                return;
 
        win_data = &ctx->win_data[win];