mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
ASoC: stm: stm32_i2s: Fix calc_clk_div() error handling in determine_rate()
calc_clk_div() will only return a non-zero value (-EINVAL)
in case of error. On the other hand, req->rate is an unsigned long.
It seems quite odd that req->rate would be assigned a negative value,
which is clearly not a rate, and success would be returned.
Reinstate previous logic, which would just return error.
Fixes: afd529d740 ("ASoC: stm: stm32_i2s: convert from round_rate() to determine_rate()")
Link: https://scan7.scan.coverity.com/#/project-view/53936/11354?selectedIssue=1647702
Signed-off-by: Sergio Perez Gonzalez <sperezglz@gmail.com>
Link: https://patch.msgid.link/20250729020052.404617-1-sperezglz@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
dcb82900b1
commit
0ebbab41fb
@@ -469,11 +469,8 @@ static int stm32_i2smclk_determine_rate(struct clk_hw *hw,
|
||||
int ret;
|
||||
|
||||
ret = stm32_i2s_calc_clk_div(i2s, req->best_parent_rate, req->rate);
|
||||
if (ret) {
|
||||
req->rate = ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
mclk->freq = req->best_parent_rate / i2s->divider;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user