On 8/22/19 2:39 PM, Mauro Carvalho Chehab wrote:
While this might not occur in practice, if the device is doing
the right thing, it would be teoretically be possible to have
both hsync_counter and vsync_counter negatives.

If this ever happen, ctrl will be undefined, but the driver
will still call:

        aspeed_video_update(video, VE_CTRL, 0, ctrl);

Change the code to prevent this to happen.

This was warned by cppcheck:

        [drivers/media/platform/aspeed-video.c:653]: (error) Uninitialized 
variable: ctrl


Thanks Mauro.


Reviewed-by: Eddie James <eaja...@linux.ibm.com>



Signed-off-by: Mauro Carvalho Chehab <mchehab+sams...@kernel.org>
---
  drivers/media/platform/aspeed-video.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/aspeed-video.c 
b/drivers/media/platform/aspeed-video.c
index f899ac3b4a61..4ef37cfc8446 100644
--- a/drivers/media/platform/aspeed-video.c
+++ b/drivers/media/platform/aspeed-video.c
@@ -630,7 +630,7 @@ static void aspeed_video_check_and_set_polarity(struct 
aspeed_video *video)
        }
if (hsync_counter < 0 || vsync_counter < 0) {
-               u32 ctrl;
+               u32 ctrl = 0;
if (hsync_counter < 0) {
                        ctrl = VE_CTRL_HSYNC_POL;
@@ -650,7 +650,8 @@ static void aspeed_video_check_and_set_polarity(struct 
aspeed_video *video)
                                V4L2_DV_VSYNC_POS_POL;
                }
- aspeed_video_update(video, VE_CTRL, 0, ctrl);
+               if (ctrl)
+                       aspeed_video_update(video, VE_CTRL, 0, ctrl);
        }
  }

Reply via email to