From: Petr Cvek Date: Mon, 1 May 2017 04:21:10 +0000 (-0300) Subject: [media] pxa_camera: Fix incorrect test in the image size generation X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a14c5d29b4f762e5f752df14b6569fbf936f4ee0;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git [media] pxa_camera: Fix incorrect test in the image size generation During the transfer from the soc_camera a test in pxa_mbus_image_size() got removed. Without it any PXA_MBUS_LAYOUT_PACKED format causes either the return of a wrong value (PXA_MBUS_PACKING_2X8_PADHI doubles the correct value) or EINVAL (PXA_MBUS_PACKING_NONE and PXA_MBUS_PACKING_EXTEND16). This was observed in an error from the ffmpeg (for some of the YUYV subvariants). This patch re-adds the same test as in soc_camera version. Signed-off-by: Petr Cvek Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/pxa_camera.c b/drivers/media/platform/pxa_camera.c index eb9e9d5a101f..a572fc9b7a73 100644 --- a/drivers/media/platform/pxa_camera.c +++ b/drivers/media/platform/pxa_camera.c @@ -575,6 +575,9 @@ static s32 pxa_mbus_bytes_per_line(u32 width, const struct pxa_mbus_pixelfmt *mf static s32 pxa_mbus_image_size(const struct pxa_mbus_pixelfmt *mf, u32 bytes_per_line, u32 height) { + if (mf->layout == PXA_MBUS_LAYOUT_PACKED) + return bytes_per_line * height; + switch (mf->packing) { case PXA_MBUS_PACKING_2X8_PADHI: return bytes_per_line * height * 2;