From patchwork Fri Jan 17 11:02:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Giulio Benetti X-Patchwork-Id: 239718 List-Id: U-Boot discussion From: giulio.benetti at benettiengineering.com (Giulio Benetti) Date: Fri, 17 Jan 2020 12:02:00 +0100 Subject: [PATCH 2/3] clk: imx: pllv3: fix potential 'divide by zero' in av_get_rate() In-Reply-To: <20200117110201.15959-1-giulio.benetti@benettiengineering.com> References: <20200117110201.15959-1-giulio.benetti@benettiengineering.com> Message-ID: <20200117110201.15959-3-giulio.benetti@benettiengineering.com> Guard 'mfd==0' to prevent 'divide by zero' issue in clk_pplv3_av_get_rate() and returning early with error EIO since mfd should never be 0 at all. Signed-off-by: Giulio Benetti --- drivers/clk/imx/clk-pllv3.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/clk/imx/clk-pllv3.c b/drivers/clk/imx/clk-pllv3.c index 0d8e39cfbb..d2bb1e86e1 100644 --- a/drivers/clk/imx/clk-pllv3.c +++ b/drivers/clk/imx/clk-pllv3.c @@ -163,6 +163,9 @@ static ulong clk_pllv3_av_get_rate(struct clk *clk) u32 div = readl(pll->base) & pll->div_mask; u64 temp64 = (u64)parent_rate; + if (mfd == 0) + return -EIO; + temp64 *= mfn; do_div(temp64, mfd);