summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@linaro.org>2023-10-10 16:35:28 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-11-02 09:36:59 +0100
commitadebf494e4258a7796947afa6a0c29f4e764ecd2 (patch)
tree2ce48fb7c8586e0d31368af4abdc29993bd112b1
parent302479e2d4c40f1eef7021fadaebaaa3067703b3 (diff)
clk: stm32: Fix a signedness issue in clk_stm32_composite_determine_rate()
commit 790437bbe0ef7e5cb5d091dd711c0d61d03945a5 upstream. The divider_ro_round_rate() function could potentially return -EINVAL on error but the error handling doesn't work because "rate" is unsigned. It should be a type long. Fixes: 06ed0fc0fbac ("clk: stm32: composite: Switch to determine_rate") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Link: https://lore.kernel.org/r/d9a78453-9b40-48c1-830e-00751ba3ecb8@kili.mountain Acked-by: Maxime Ripard <mripard@kernel.org> Signed-off-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/clk/stm32/clk-stm32-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/stm32/clk-stm32-core.c b/drivers/clk/stm32/clk-stm32-core.c
index d5aa09e9fce4..067b918a8894 100644
--- a/drivers/clk/stm32/clk-stm32-core.c
+++ b/drivers/clk/stm32/clk-stm32-core.c
@@ -431,7 +431,7 @@ static int clk_stm32_composite_determine_rate(struct clk_hw *hw,
{
struct clk_stm32_composite *composite = to_clk_stm32_composite(hw);
const struct stm32_div_cfg *divider;
- unsigned long rate;
+ long rate;
if (composite->div_id == NO_STM32_DIV)
return 0;