diff options
author | Ingo Molnar <mingo@kernel.org> | 2013-10-11 07:39:37 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-10-11 07:39:37 +0200 |
commit | ec0ad3d01f99d5e5b56a99a58f7003b99250dc65 (patch) | |
tree | 85066cbea1cf8da6d099019adefaca90aae39234 /arch/powerpc/kernel/irq.c | |
parent | sched/numa: Reflow task_numa_group() to avoid a compiler warning (diff) | |
parent | compiler/gcc4: Add quirk for 'asm goto' miscompilation bug (diff) | |
download | linux-ec0ad3d01f99d5e5b56a99a58f7003b99250dc65.tar.xz linux-ec0ad3d01f99d5e5b56a99a58f7003b99250dc65.zip |
Merge branch 'core/urgent' into sched/core
Merge in asm goto fix, to be able to apply the asm/rmwcc.h fix.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/powerpc/kernel/irq.c')
-rw-r--r-- | arch/powerpc/kernel/irq.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 57d286a78f86..c7cb8c232d2f 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -495,14 +495,15 @@ void __do_irq(struct pt_regs *regs) void do_IRQ(struct pt_regs *regs) { struct pt_regs *old_regs = set_irq_regs(regs); - struct thread_info *curtp, *irqtp; + struct thread_info *curtp, *irqtp, *sirqtp; /* Switch to the irq stack to handle this */ curtp = current_thread_info(); irqtp = hardirq_ctx[raw_smp_processor_id()]; + sirqtp = softirq_ctx[raw_smp_processor_id()]; /* Already there ? */ - if (unlikely(curtp == irqtp)) { + if (unlikely(curtp == irqtp || curtp == sirqtp)) { __do_irq(regs); set_irq_regs(old_regs); return; |