summaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel/irqchip.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-10 16:34:43 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-10 16:34:43 +0100
commit8c54436ae9f59146b3d02820a3ebbf71e61f2aee (patch)
tree0ab1a3847809bd7d5f44fc52b1f16fabd953c4bb /arch/blackfin/kernel/irqchip.c
parentsched: TIF_NEED_RESCHED -> need_reshed() cleanup (diff)
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drz... (diff)
downloadlinux-8c54436ae9f59146b3d02820a3ebbf71e61f2aee.tar.xz
linux-8c54436ae9f59146b3d02820a3ebbf71e61f2aee.zip
Merge branches 'sched/cleanups' and 'linus' into sched/core
Diffstat (limited to 'arch/blackfin/kernel/irqchip.c')
-rw-r--r--arch/blackfin/kernel/irqchip.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c
index 75724eee6494..7fd126564846 100644
--- a/arch/blackfin/kernel/irqchip.c
+++ b/arch/blackfin/kernel/irqchip.c
@@ -144,11 +144,15 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs)
#endif
generic_handle_irq(irq);
-#ifndef CONFIG_IPIPE /* Useless and bugous over the I-pipe: IRQs are threaded. */
- /* If we're the only interrupt running (ignoring IRQ15 which is for
- syscalls), lower our priority to IRQ14 so that softirqs run at
- that level. If there's another, lower-level interrupt, irq_exit
- will defer softirqs to that. */
+#ifndef CONFIG_IPIPE
+ /*
+ * If we're the only interrupt running (ignoring IRQ15 which
+ * is for syscalls), lower our priority to IRQ14 so that
+ * softirqs run at that level. If there's another,
+ * lower-level interrupt, irq_exit will defer softirqs to
+ * that. If the interrupt pipeline is enabled, we are already
+ * running at IRQ14 priority, so we don't need this code.
+ */
CSYNC();
pending = bfin_read_IPEND() & ~0x8000;
other_ints = pending & (pending - 1);