iio: imu: st_lsm6dsx: fix endianness in st_lsm6dsx_read_oneshot()
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Mon, 1 Jan 2018 18:54:42 +0000 (19:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Jan 2018 15:03:43 +0000 (16:03 +0100)
Apply le16_to_cpu() to data read from the sensor in order to take into
account architecture endianness

Fixes: 290a6ce11d93 (iio: imu: add support to lsm6dsx driver)
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c

index 239c735..812cd25 100644 (file)
@@ -448,7 +448,7 @@ static int st_lsm6dsx_read_oneshot(struct st_lsm6dsx_sensor *sensor,
 
        st_lsm6dsx_sensor_disable(sensor);
 
-       *val = (s16)data;
+       *val = (s16)le16_to_cpu(data);
 
        return IIO_VAL_INT;
 }