Staging: iio/accel: Changed data type of val in store_measurement_mode to u8
The code in sca3000_store_measurement_mode() uses the variable val to do bitwise operations with an int mask and or-s it into st->rx[0] which is an entry in a u8 array (see sca3000.h). This means up to now values larger than a u8 were silently ignored and just the lower 8 bits counted into the value that was written into st->rx[0]. This code will return -ERANGE if the value in buf was too large to fit into a u8. Signed-off-by: Andreas Ruprecht <rupran@einserver.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
359f9caa4d
commit
3b724ca145
1 changed files with 2 additions and 2 deletions
|
@ -383,10 +383,10 @@ sca3000_store_measurement_mode(struct device *dev,
|
|||
struct sca3000_state *st = iio_priv(indio_dev);
|
||||
int ret;
|
||||
int mask = 0x03;
|
||||
long val;
|
||||
u8 val;
|
||||
|
||||
mutex_lock(&st->lock);
|
||||
ret = strict_strtol(buf, 10, &val);
|
||||
ret = kstrtou8(buf, 10, &val);
|
||||
if (ret)
|
||||
goto error_ret;
|
||||
ret = sca3000_read_data_short(st, SCA3000_REG_ADDR_MODE, 1);
|
||||
|
|
Loading…
Add table
Reference in a new issue