arm: dma-mapping: page align size before flush tlb
start and end must be page aligned while calling flush_tlb_kernel_range else the last page may get missed while invalidation. Change-Id: Ibaab202c47a475623e197a13191b2fed638ce20b Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
This commit is contained in:
parent
e95375540c
commit
adcf23cfd5
2 changed files with 2 additions and 0 deletions
|
@ -807,6 +807,7 @@ static void arm_dma_unremap(struct device *dev, void *remapped_addr,
|
||||||
unsigned int flags = VM_ARM_DMA_CONSISTENT | VM_USERMAP;
|
unsigned int flags = VM_ARM_DMA_CONSISTENT | VM_USERMAP;
|
||||||
struct vm_struct *area;
|
struct vm_struct *area;
|
||||||
|
|
||||||
|
size = PAGE_ALIGN(size);
|
||||||
remapped_addr = (void *)((unsigned long)remapped_addr & PAGE_MASK);
|
remapped_addr = (void *)((unsigned long)remapped_addr & PAGE_MASK);
|
||||||
|
|
||||||
area = find_vm_area(remapped_addr);
|
area = find_vm_area(remapped_addr);
|
||||||
|
|
|
@ -455,6 +455,7 @@ static void arm64_dma_unremap(struct device *dev, void *remapped_addr,
|
||||||
{
|
{
|
||||||
struct vm_struct *area;
|
struct vm_struct *area;
|
||||||
|
|
||||||
|
size = PAGE_ALIGN(size);
|
||||||
remapped_addr = (void *)((unsigned long)remapped_addr & PAGE_MASK);
|
remapped_addr = (void *)((unsigned long)remapped_addr & PAGE_MASK);
|
||||||
|
|
||||||
area = find_vm_area(remapped_addr);
|
area = find_vm_area(remapped_addr);
|
||||||
|
|
Loading…
Add table
Reference in a new issue