diff options
author | Luo Yifan <luoyifan@cmss.chinamobile.com> | 2024-11-07 02:59:36 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-11-07 14:07:17 +0100 |
commit | 23569c8b314925bdb70dd1a7b63cfe6100868315 (patch) | |
tree | 63f4de30ae4aeac34558c1acd924bbb874692e2e /sound | |
parent | ASoC: stm: Prevent potential division by zero in stm32_sai_mclk_round_rate() (diff) | |
download | linux-23569c8b314925bdb70dd1a7b63cfe6100868315.tar.xz linux-23569c8b314925bdb70dd1a7b63cfe6100868315.zip |
ASoC: stm: Prevent potential division by zero in stm32_sai_get_clk_div()
This patch checks if div is less than or equal to zero (div <= 0). If
div is zero or negative, the function returns -EINVAL, ensuring the
division operation is safe to perform.
Signed-off-by: Luo Yifan <luoyifan@cmss.chinamobile.com>
Reviewed-by: Olivier Moysan <olivier.moysan@foss.st.com>
Link: https://patch.msgid.link/20241107015936.211902-1-luoyifan@cmss.chinamobile.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/stm/stm32_sai_sub.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/stm/stm32_sai_sub.c b/sound/soc/stm/stm32_sai_sub.c index 2570daa3e225..5828f9dd866e 100644 --- a/sound/soc/stm/stm32_sai_sub.c +++ b/sound/soc/stm/stm32_sai_sub.c @@ -317,7 +317,7 @@ static int stm32_sai_get_clk_div(struct stm32_sai_sub_data *sai, int div; div = DIV_ROUND_CLOSEST(input_rate, output_rate); - if (div > SAI_XCR1_MCKDIV_MAX(version)) { + if (div > SAI_XCR1_MCKDIV_MAX(version) || div <= 0) { dev_err(&sai->pdev->dev, "Divider %d out of range\n", div); return -EINVAL; } |