
19 Sep
2017
19 Sep
'17
1:23 p.m.
The size variable may not be always be a mulitple of ARCH_DMA_MINALIGN and using it to flush cache leads to cache misaligned warnings.
Therefore, round up the size to a multiple of ARCH_DMA_MINLAIGN when allocating private data.
Signed-off-by: Faiz Abbas faiz_abbas@ti.com --- drivers/core/device.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/core/device.c b/drivers/core/device.c index 5463d1f..96dfb21 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -254,6 +254,7 @@ static void *alloc_priv(int size, uint flags) void *priv;
if (flags & DM_FLAG_ALLOC_PRIV_DMA) { + size = ROUND(size, ARCH_DMA_MINALIGN); priv = memalign(ARCH_DMA_MINALIGN, size); if (priv) { memset(priv, '\0', size);
--
2.7.4