summaryrefslogtreecommitdiffstats
path: root/drivers/clk
diff options
context:
space:
mode:
authorRikard Falkeborn <rikard.falkeborn@gmail.com>2020-03-17 22:13:32 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-06-25 15:41:47 +0200
commit2d43a469e439adb8e22af18e204bc7aa164e43d4 (patch)
tree8adb0bc12b573f69223960f09f9ce9cff15448af /drivers/clk
parent04b007182932d0dae4ce3622d2e214bac0ec1a60 (diff)
downloadlinux-stable-2d43a469e439adb8e22af18e204bc7aa164e43d4.tar.gz
linux-stable-2d43a469e439adb8e22af18e204bc7aa164e43d4.tar.bz2
linux-stable-2d43a469e439adb8e22af18e204bc7aa164e43d4.zip
clk: sunxi: Fix incorrect usage of round_down()
[ Upstream commit ee25d9742dabed3fd18158b518f846abeb70f319 ] round_down() can only round to powers of 2. If round_down() is asked to round to something that is not a power of 2, incorrect results are produced. The incorrect results can be both too large and too small. Instead, use rounddown() which can round to any number. Fixes: 6a721db180a2 ("clk: sunxi: Add A31 clocks support") Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/clk')
-rw-r--r--drivers/clk/sunxi/clk-sunxi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index aa4add580516..0b5e091742f9 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -98,7 +98,7 @@ static void sun6i_a31_get_pll1_factors(struct factors_request *req)
* Round down the frequency to the closest multiple of either
* 6 or 16
*/
- u32 round_freq_6 = round_down(freq_mhz, 6);
+ u32 round_freq_6 = rounddown(freq_mhz, 6);
u32 round_freq_16 = round_down(freq_mhz, 16);
if (round_freq_6 > round_freq_16)