mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 22:14:04 +02:00
iio: adc: ad7768-1: Fix too small buffer passed to iio_push_to_buffers_with_timestamp()
commita1caeebab0upstream. Add space for the timestamp to be inserted. Also ensure correct alignment for passing to iio_push_to_buffers_with_timestamp() Fixes:a5f8c7da3d("iio: adc: Add AD7768-1 ADC basic support") Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20210501165314.511954-2-jic23@kernel.org Cc: <Stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a78238fa3b
commit
dceb4ec042
|
|
@ -166,6 +166,10 @@ struct ad7768_state {
|
||||||
* transfer buffers to live in their own cache lines.
|
* transfer buffers to live in their own cache lines.
|
||||||
*/
|
*/
|
||||||
union {
|
union {
|
||||||
|
struct {
|
||||||
|
__be32 chan;
|
||||||
|
s64 timestamp;
|
||||||
|
} scan;
|
||||||
__be32 d32;
|
__be32 d32;
|
||||||
u8 d8[2];
|
u8 d8[2];
|
||||||
} data ____cacheline_aligned;
|
} data ____cacheline_aligned;
|
||||||
|
|
@ -459,11 +463,11 @@ static irqreturn_t ad7768_trigger_handler(int irq, void *p)
|
||||||
|
|
||||||
mutex_lock(&st->lock);
|
mutex_lock(&st->lock);
|
||||||
|
|
||||||
ret = spi_read(st->spi, &st->data.d32, 3);
|
ret = spi_read(st->spi, &st->data.scan.chan, 3);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto err_unlock;
|
goto err_unlock;
|
||||||
|
|
||||||
iio_push_to_buffers_with_timestamp(indio_dev, &st->data.d32,
|
iio_push_to_buffers_with_timestamp(indio_dev, &st->data.scan,
|
||||||
iio_get_time_ns(indio_dev));
|
iio_get_time_ns(indio_dev));
|
||||||
|
|
||||||
iio_trigger_notify_done(indio_dev->trig);
|
iio_trigger_notify_done(indio_dev->trig);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user