From: Tony K Nadackal <tony...@samsung.com>

Corrects the WARN_ON statement for subsampling based on the
JPEG Hardware version.

Signed-off-by: Tony K Nadackal <tony...@samsung.com>
Signed-off-by: Thierry Escande <thierry.esca...@collabora.com>
---
 drivers/media/platform/s5p-jpeg/jpeg-core.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c 
b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index 623508d..0d935f5 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -614,24 +614,26 @@ static inline struct s5p_jpeg_ctx *fh_to_ctx(struct 
v4l2_fh *fh)
 
 static int s5p_jpeg_to_user_subsampling(struct s5p_jpeg_ctx *ctx)
 {
-       WARN_ON(ctx->subsampling > 3);
-
        switch (ctx->jpeg->variant->version) {
        case SJPEG_S5P:
+               WARN_ON(ctx->subsampling > 3);
                if (ctx->subsampling > 2)
                        return V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY;
                return ctx->subsampling;
        case SJPEG_EXYNOS3250:
        case SJPEG_EXYNOS5420:
+               WARN_ON(ctx->subsampling > 6);
                if (ctx->subsampling > 3)
                        return V4L2_JPEG_CHROMA_SUBSAMPLING_411;
                return exynos3250_decoded_subsampling[ctx->subsampling];
        case SJPEG_EXYNOS4:
        case SJPEG_EXYNOS5433:
+               WARN_ON(ctx->subsampling > 3);
                if (ctx->subsampling > 2)
                        return V4L2_JPEG_CHROMA_SUBSAMPLING_420;
                return exynos4x12_decoded_subsampling[ctx->subsampling];
        default:
+               WARN_ON(ctx->subsampling > 3);
                return V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY;
        }
 }
-- 
2.7.4

Reply via email to