diff options
author | 2016-09-09 14:33:59 +0100 | |
---|---|---|
committer | 2016-09-16 09:34:14 +0100 | |
commit | 8ded2909e2c6c34b70ebb45480f6ce68c64fbddc (patch) | |
tree | eccb4b941bed09582c206b4444c1cb851db9e6d5 /Documentation | |
parent | iommu/arm-smmu: Fix polling of command queue (diff) | |
download | linux-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