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>
This commit is contained in:
Luo Yifan 2024-11-07 09:59:36 +08:00 committed by Mark Brown
parent 63c1c87993
commit 23569c8b31
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -317,7 +317,7 @@ static int stm32_sai_get_clk_div(struct stm32_sai_sub_data *sai,
int div; int div;
div = DIV_ROUND_CLOSEST(input_rate, output_rate); 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); dev_err(&sai->pdev->dev, "Divider %d out of range\n", div);
return -EINVAL; return -EINVAL;
} }