[PATCH v2 2/3] clk: imx: pllv3: fix potential 'divide by zero' in av_get_rate()

Giulio Benetti giulio.benetti at benettiengineering.com
Fri Jan 17 13:06:41 CET 2020


Guard 'mfd==0' to prevent 'divide by zero' issue in
clk_pplv3_av_get_rate(). If it is 0, let's return with EIO since mfd
should never be 0 at all.

Signed-off-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
---
V1->V2
* improved a little commit log
---
 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 a540a5b68c..72e6750615 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);
 
-- 
2.20.1



More information about the U-Boot mailing list