Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: resolver: ad2s90: Fix alignment for DMA safety

____cacheline_aligned is an insufficient guarantee for non-coherent DMA
on platforms with 128 byte cachelines above L1. Switch to the updated
IIO_DMA_MINALIGN definition.

Fixes tag is probably not where the issue was first introduced, but
is likely to be far beyond the point where anyone considers
backporting this fix.

Fixes: 58f08b0af857 ("staging:iio:resolver:ad2s90 general cleanup")
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20220508175712.647246-90-jic23@kernel.org

+1 -1
+1 -1
drivers/iio/resolver/ad2s90.c
··· 24 24 struct ad2s90_state { 25 25 struct mutex lock; /* lock to protect rx buffer */ 26 26 struct spi_device *sdev; 27 - u8 rx[2] ____cacheline_aligned; 27 + u8 rx[2] __aligned(IIO_DMA_MINALIGN); 28 28 }; 29 29 30 30 static int ad2s90_read_raw(struct iio_dev *indio_dev,