summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorLuo Yifan <luoyifan@cmss.chinamobile.com>2024-11-07 02:59:36 +0100
committerMark Brown <broonie@kernel.org>2024-11-07 14:07:17 +0100
commit23569c8b314925bdb70dd1a7b63cfe6100868315 (patch)
tree63f4de30ae4aeac34558c1acd924bbb874692e2e /sound
parentASoC: stm: Prevent potential division by zero in stm32_sai_mclk_round_rate() (diff)
downloadlinux-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.c2
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;
}