summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Cameron <Jonathan.Cameron@huawei.com>2021-05-01 18:13:47 +0100
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2021-05-17 13:54:30 +0100
commit8dea228b174ac9637b567e5ef54f4c40db4b3c41 (patch)
tree54ce8948d9c6153aae7241046dc69effa2c403a1
parentb0f5d8db7348a6ce5cdd79fba46ebc91eebc8fd9 (diff)
downloadlinux-stable-8dea228b174ac9637b567e5ef54f4c40db4b3c41.tar.gz
linux-stable-8dea228b174ac9637b567e5ef54f4c40db4b3c41.tar.bz2
linux-stable-8dea228b174ac9637b567e5ef54f4c40db4b3c41.zip
iio: cros_ec_sensors: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
The samples buffer is passed to iio_push_to_buffers_with_timestamp() which requires a buffer aligned to 8 bytes as it is assumed that the timestamp will be naturally aligned if present. Fixes tag is inaccurate but prior to that likely manual backporting needed (for anything before 4.18) Earlier than that the include file to fix is drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.h: commit 974e6f02e27 ("iio: cros_ec_sensors_core: Add common functions for the ChromeOS EC Sensor Hub.") present since kernel stable 4.10. (Thanks to Gwendal for tracking this down) Fixes: 5a0b8cb46624c ("iio: cros_ec: Move cros_ec_sensors_core.h in /include") Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Gwendal Grignou <gwendal@chromium.org Link: https://lore.kernel.org/r/20210501171352.512953-7-jic23@kernel.org
-rw-r--r--include/linux/iio/common/cros_ec_sensors_core.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/iio/common/cros_ec_sensors_core.h b/include/linux/iio/common/cros_ec_sensors_core.h
index 7ce8a8adad58..c582e1a14232 100644
--- a/include/linux/iio/common/cros_ec_sensors_core.h
+++ b/include/linux/iio/common/cros_ec_sensors_core.h
@@ -77,7 +77,7 @@ struct cros_ec_sensors_core_state {
u16 scale;
} calib[CROS_EC_SENSOR_MAX_AXIS];
s8 sign[CROS_EC_SENSOR_MAX_AXIS];
- u8 samples[CROS_EC_SAMPLE_SIZE];
+ u8 samples[CROS_EC_SAMPLE_SIZE] __aligned(8);
int (*read_ec_sensors_data)(struct iio_dev *indio_dev,
unsigned long scan_mask, s16 *data);