| From 2b356ad2e5f635eb366ae2e52f878c79dbcfae91 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 1 May 2021 18:13:47 +0100 |
| Subject: iio: cros_ec_sensors: Fix alignment of buffer in |
| iio_push_to_buffers_with_timestamp() |
| |
| From: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| |
| [ Upstream commit 8dea228b174ac9637b567e5ef54f4c40db4b3c41 ] |
| |
| 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 |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| include/linux/iio/common/cros_ec_sensors_core.h | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/include/linux/iio/common/cros_ec_sensors_core.h b/include/linux/iio/common/cros_ec_sensors_core.h |
| index c9b80be82440..f82857bd693f 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); |
| -- |
| 2.30.2 |
| |