diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2015-02-04 07:27:21 -0500 |
---|---|---|
committer | Michael Turquette <mturquette@linaro.org> | 2015-02-04 17:02:42 -0500 |
commit | 5469d4f22e0c18fc5499b11269d2c528094bcf1e (patch) | |
tree | 1a47fb1cdad6fb2931d8b0951e917ac8b9937cbc /drivers/clk/shmobile/clk-div6.c | |
parent | 039e5970750775f102b255de9bf914e04955c6da (diff) |
clk: shmobile: div6: Avoid division by zero in .round_rate()
Anyone may call clk_round_rate() with a zero rate value, so we have to
protect against that.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Michael Turquette <mturquette@linaro.org>
Diffstat (limited to 'drivers/clk/shmobile/clk-div6.c')
-rw-r--r-- | drivers/clk/shmobile/clk-div6.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/clk/shmobile/clk-div6.c b/drivers/clk/shmobile/clk-div6.c index efbaf6c81b75..036a692c7219 100644 --- a/drivers/clk/shmobile/clk-div6.c +++ b/drivers/clk/shmobile/clk-div6.c | |||
@@ -90,6 +90,9 @@ static unsigned int cpg_div6_clock_calc_div(unsigned long rate, | |||
90 | { | 90 | { |
91 | unsigned int div; | 91 | unsigned int div; |
92 | 92 | ||
93 | if (!rate) | ||
94 | rate = 1; | ||
95 | |||
93 | div = DIV_ROUND_CLOSEST(parent_rate, rate); | 96 | div = DIV_ROUND_CLOSEST(parent_rate, rate); |
94 | return clamp_t(unsigned int, div, 1, 64); | 97 | return clamp_t(unsigned int, div, 1, 64); |
95 | } | 98 | } |