summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-06-25 17:57:50 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-06-29 11:06:37 +0200
commitfbab1c809467efe001194ab8bb17f0f451a17f97 (patch)
treedeae1c5ef2025303ced10e951582027e1af7f7d7
parentARM: entry: no need to increase preempt count for IRQ handlers (diff)
downloadlinux-fbab1c809467efe001194ab8bb17f0f451a17f97.tar.xz
linux-fbab1c809467efe001194ab8bb17f0f451a17f97.zip
ARM: entry: no need to check parent IRQ mask in IRQ handler return
There's no point checking to see whether IRQs were masked in the parent context when returning from IRQ handling - the fact that we're handling an IRQ means that the parent context must have had IRQs unmasked. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/kernel/entry-armv.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 1e5f387c70ae..fd42e667a81b 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -234,8 +234,9 @@ __irq_svc:
#endif
ldr r4, [sp, #S_PSR] @ irqs are already disabled
#ifdef CONFIG_TRACE_IRQFLAGS
- tst r4, #PSR_I_BIT
- bleq trace_hardirqs_on
+ @ The parent context IRQs must have been enabled to get here in
+ @ the first place, so there's no point checking the PSR I bit.
+ bl trace_hardirqs_on
#endif
svc_exit r4 @ return from exception
UNWIND(.fnend )