]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
iio: cros_ec_sensors: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 1 May 2021 17:13:47 +0000 (18:13 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 13 Aug 2021 07:31:15 +0000 (09:31 +0200)
BugLink: https://bugs.launchpad.net/bugs/1938340
[ 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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
include/linux/iio/common/cros_ec_sensors_core.h

index c9b80be82440f87b8820fb82fee7db9f0ea83172..f82857bd693fdfde7959a6be091927e7de2909bb 100644 (file)
@@ -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);