Commit 59f0f119 authored by Ritesh Harjani's avatar Ritesh Harjani Committed by Marek Szyprowski

arm: dma-mapping: Fix mapping size value

68efd7d2("arm: dma-mapping: remove order parameter from
arm_iommu_create_mapping()") is causing kernel panic
because it wrongly sets the value of mapping->size:

Unable to handle kernel NULL pointer dereference at virtual
address 000000a0
pgd = e7a84000
[000000a0] *pgd=00000000
...
PC is at bitmap_clear+0x48/0xd0
LR is at __iommu_remove_mapping+0x130/0x164

Fix it by correcting mapping->size value.
Signed-off-by: default avatarRitesh Harjani <ritesh.harjani@gmail.com>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
parent a798c10f
...@@ -1963,8 +1963,8 @@ arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) ...@@ -1963,8 +1963,8 @@ arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size)
mapping->nr_bitmaps = 1; mapping->nr_bitmaps = 1;
mapping->extensions = extensions; mapping->extensions = extensions;
mapping->base = base; mapping->base = base;
mapping->size = bitmap_size << PAGE_SHIFT;
mapping->bits = BITS_PER_BYTE * bitmap_size; mapping->bits = BITS_PER_BYTE * bitmap_size;
mapping->size = mapping->bits << PAGE_SHIFT;
spin_lock_init(&mapping->lock); spin_lock_init(&mapping->lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment