aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2016-09-09 14:33:59 +0100
committerWill Deacon <will.deacon@arm.com>2016-09-16 09:34:14 +0100
commit8ded2909e2c6c34b70ebb45480f6ce68c64fbddc (patch)
treeeccb4b941bed09582c206b4444c1cb851db9e6d5 /Documentation
parentiommu/arm-smmu: Fix polling of command queue (diff)
downloadlinux-dev-8ded2909e2c6c34b70ebb45480f6ce68c64fbddc.tar.xz
linux-dev-8ded2909e2c6c34b70ebb45480f6ce68c64fbddc.zip
iommu/arm-smmu: Disable interrupts whilst holding the cmdq lock
The cmdq lock is taken whenever we issue commands into the command queue, which can occur in IRQ context (as a result of unmap) or in process context (as a result of a threaded IRQ handler or device probe). This can lead to a theoretical deadlock if the interrupt handler performing the unmap hits whilst the lock is taken, so explicitly use the {irqsave,irqrestore} spin_lock accessors for the cmdq lock. Tested-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions