dma-mapping: fix dma_sync_single_range_*
dma_sync_single_range_for_cpu() and dma_sync_single_range_for_device() use a wrong address with a partial synchronization. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
fc2a093e7a
commit
f33d7e2d2d
|
@ -131,7 +131,7 @@ static inline void dma_sync_single_range_for_cpu(struct device *dev,
|
||||||
debug_dma_sync_single_range_for_cpu(dev, addr, offset, size, dir);
|
debug_dma_sync_single_range_for_cpu(dev, addr, offset, size, dir);
|
||||||
|
|
||||||
} else
|
} else
|
||||||
dma_sync_single_for_cpu(dev, addr, size, dir);
|
dma_sync_single_for_cpu(dev, addr + offset, size, dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void dma_sync_single_range_for_device(struct device *dev,
|
static inline void dma_sync_single_range_for_device(struct device *dev,
|
||||||
|
@ -148,7 +148,7 @@ static inline void dma_sync_single_range_for_device(struct device *dev,
|
||||||
debug_dma_sync_single_range_for_device(dev, addr, offset, size, dir);
|
debug_dma_sync_single_range_for_device(dev, addr, offset, size, dir);
|
||||||
|
|
||||||
} else
|
} else
|
||||||
dma_sync_single_for_device(dev, addr, size, dir);
|
dma_sync_single_for_device(dev, addr + offset, size, dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
|
Loading…
Reference in a new issue