media: s5p-jpeg: Correct WARN_ON statement for checking subsampling
authorTony K Nadackal <tony.kn@samsung.com>
Fri, 30 Jun 2017 14:15:41 +0000 (10:15 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 26 Jul 2017 12:29:24 +0000 (08:29 -0400)
Correct the WARN_ON statement for subsampling based on the
JPEG hardware version.

Signed-off-by: Tony K Nadackal <tony.kn@samsung.com>
Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
Acked-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/platform/s5p-jpeg/jpeg-core.c

index 97e5518520b33ea327bd5f0d04d4888e219cdd5d..4c672a0f1418659c584268f95884911e5c3a1dc3 100644 (file)
@@ -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;
        }
 }