mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
iio: accel: sca3000: fix frequency divider condition check
When setting the sampling frequency, the check for `base_freq / 2` is
followed by an independent `if` statement for `base_freq / 4`. If `val`
equals `base_freq / 2`, the second check fails and falls through to the
`else if (val != base_freq)` branch, returning `-EINVAL` erroneously.
Fix this by chaining the checks with `else if`.
Fixes: e0f3fc9b47 ("iio: accel: sca3000_core: implemented IIO_CHAN_INFO_SAMP_FREQ")
Signed-off-by: Salah Triki <salah.triki@gmail.com>
Reviewed-by: Joshua Crofts <joshua.crofts1@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
This commit is contained in:
parent
baf7e43b7f
commit
d380bf5f94
|
|
@ -638,7 +638,7 @@ static int sca3000_write_raw_samp_freq(struct sca3000_state *st, int val)
|
|||
|
||||
if (val == base_freq / 2)
|
||||
ctrlval |= SCA3000_REG_OUT_CTRL_BUF_DIV_2;
|
||||
if (val == base_freq / 4)
|
||||
else if (val == base_freq / 4)
|
||||
ctrlval |= SCA3000_REG_OUT_CTRL_BUF_DIV_4;
|
||||
else if (val != base_freq)
|
||||
return -EINVAL;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user