summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2014-02-04 22:12:42 +0000
committerWill Deacon <will.deacon@arm.com>2014-02-10 17:00:49 +0000
commitc9d09e2748eaa55cac2af274574baa6368189bc1 (patch)
treeff3b8dc58a149f1949083a0a89cf497611bb0905 /arch
parent97a644208d1a08b7104d1fe2ace8cef011222711 (diff)
downloadop-kernel-dev-c9d09e2748eaa55cac2af274574baa6368189bc1.zip
op-kernel-dev-c9d09e2748eaa55cac2af274574baa6368189bc1.tar.gz
iommu/arm-smmu: really fix page table locking
Commit a44a9791e778 ("iommu/arm-smmu: use mutex instead of spinlock for locking page tables") replaced the page table spinlock with a mutex, to allow blocking allocations to satisfy lazy mapping requests. Unfortunately, it turns out that IOMMU mappings are created from atomic context (e.g. spinlock held during a dma_map), so this change doesn't really help us in practice. This patch is a partial revert of the offending commit, bringing back the original spinlock but replacing our page table allocations for any levels below the pgd (which is allocated during domain init) with GFP_ATOMIC instead of GFP_KERNEL. Cc: <stable@vger.kernel.org> Reported-by: Andreas Herrmann <andreas.herrmann@calxeda.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud