From 896e029847fd8f46131de928c1bb536602be2249 Mon Sep 17 00:00:00 2001 From: Liu Ying Date: Tue, 26 Mar 2019 14:12:35 +0800 Subject: [PATCH] MLK-20208-4 mxc IPUv3: disp: Avoid division by zero in ipu_init_sync_panel() To avoid potential division by zero in ipu_init_sync_panel(), let's check the rounded_pixel_clk rate prior to that. Detected by CoverityScan, CID#56278 ("Division or modulo by zero") Signed-off-by: Liu Ying (cherry picked from commit 1523150b71f1aa0610f61ea47a9f3bdbcda92522) Signed-off-by: Arulpandiyan Vadivel Signed-off-by: Shrikant Bobade (cherry picked from commit 5e2882f2fa1e852e6c405e38109505eae1459c90) --- drivers/mxc/ipu3/ipu_disp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/mxc/ipu3/ipu_disp.c b/drivers/mxc/ipu3/ipu_disp.c index 0598c36dbd34..33ff22ca860f 100644 --- a/drivers/mxc/ipu3/ipu_disp.c +++ b/drivers/mxc/ipu3/ipu_disp.c @@ -1159,6 +1159,10 @@ int32_t ipu_init_sync_panel(struct ipu_soc *ipu, int disp, uint32_t pixel_clk, } } rounded_pixel_clk = clk_round_rate(ipu->pixel_clk[disp], pixel_clk); + if (rounded_pixel_clk == 0) { + dev_err(ipu->dev, "rounded pixel clock should not be zero\n"); + return -EINVAL; + } dev_dbg(ipu->dev, "round pixel clk:%d\n", rounded_pixel_clk); ret = clk_set_rate(ipu->pixel_clk[disp], rounded_pixel_clk); if (ret) { -- 2.17.1