diff options
Diffstat (limited to 'queue/media-camss-vfe-always-initialize-reg-at-vfe_set_xba.patch')
-rw-r--r-- | queue/media-camss-vfe-always-initialize-reg-at-vfe_set_xba.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/queue/media-camss-vfe-always-initialize-reg-at-vfe_set_xba.patch b/queue/media-camss-vfe-always-initialize-reg-at-vfe_set_xba.patch new file mode 100644 index 0000000..4120f40 --- /dev/null +++ b/queue/media-camss-vfe-always-initialize-reg-at-vfe_set_xba.patch @@ -0,0 +1,35 @@ +From 9917fbcfa20ab987d6381fd0365665e5c1402d75 Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab <mchehab@s-opensource.com> +Date: Wed, 1 Nov 2017 08:09:59 -0400 +Subject: [PATCH] media: camss-vfe: always initialize reg at vfe_set_xbar_cfg() + +commit 9917fbcfa20ab987d6381fd0365665e5c1402d75 upstream. + +if output->wm_num is bigger than 2, the value for reg is +not initialized, as warned by smatch: + drivers/media/platform/qcom/camss-8x16/camss-vfe.c:633 vfe_set_xbar_cfg() error: uninitialized symbol 'reg'. + drivers/media/platform/qcom/camss-8x16/camss-vfe.c:637 vfe_set_xbar_cfg() error: uninitialized symbol 'reg'. + +That shouldn't happen in practice, so add a logic that will +break the loop if i > 1, fixing the warnings. + +Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> +Acked-by: Todor Tomov <todor.tomov@linaro.org> + +diff --git a/drivers/media/platform/qcom/camss-8x16/camss-vfe.c b/drivers/media/platform/qcom/camss-8x16/camss-vfe.c +index b22d2dfcd3c2..55232a912950 100644 +--- a/drivers/media/platform/qcom/camss-8x16/camss-vfe.c ++++ b/drivers/media/platform/qcom/camss-8x16/camss-vfe.c +@@ -622,6 +622,9 @@ static void vfe_set_xbar_cfg(struct vfe_device *vfe, struct vfe_output *output, + reg = VFE_0_BUS_XBAR_CFG_x_M_PAIR_STREAM_EN; + if (p == V4L2_PIX_FMT_NV12 || p == V4L2_PIX_FMT_NV16) + reg |= VFE_0_BUS_XBAR_CFG_x_M_PAIR_STREAM_SWAP_INTER_INTRA; ++ } else { ++ /* On current devices output->wm_num is always <= 2 */ ++ break; + } + + if (output->wm_idx[i] % 2 == 1) +-- +2.15.0 + |