aboutsummaryrefslogtreecommitdiff
path: root/include/asm-sparc64/irq.h
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2005-11-25 15:52:51 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-11-25 15:52:51 +0000
commit5edf71ae129167ac276ebac18b25ccc7bec6ac3e (patch)
tree619daac39d08dbf66fb19698205b263e21bba3d0 /include/asm-sparc64/irq.h
parent3c0bdac3875505516eda1c6b6e68dd84eff3b231 (diff)
[ARM] Do not call flush_tlb_kernel_range() with IRQs disabled.
We must not call TLB maintainence operations with interrupts disabled, otherwise we risk a lockup in the SMP IPI code. This means that consistent_free() can not be called from a context with IRQs disabled. In addition, we must not hold the lock in consistent_free when we call flush_tlb_kernel_range(). However, we must continue to prevent consistent_alloc() from re-using the memory region until we've finished tearing down the mapping and dealing with the TLB. Therefore, leave the vm_region entry in the list, but mark it inactive before dropping the lock and starting the tear-down process. After the mapping has been torn down, re-acquire the lock and remove the entry from the list. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-sparc64/irq.h')
0 files changed, 0 insertions, 0 deletions