summaryrefslogtreecommitdiffstats
path: root/lib/mpi
diff options
context:
space:
mode:
authorRabin Vincent <rabin.vincent@axis.com>2015-06-12 10:01:56 +0200
committerRalf Baechle <ralf@linux-mips.org>2015-06-13 11:33:00 +0200
commit1b3ed367ce11fb39a345d807ef4168f727236083 (patch)
treebe2d9178cc1b9503d664e099de37fd87134ecbaf /lib/mpi
parent9cc719ab3f4f639d629ac8ff09e9b998bc006f68 (diff)
downloadlinux-1b3ed367ce11fb39a345d807ef4168f727236083.tar.gz
linux-1b3ed367ce11fb39a345d807ef4168f727236083.tar.bz2
linux-1b3ed367ce11fb39a345d807ef4168f727236083.zip
IRQCHIP: mips-gic: Don't nest calls to do_IRQ()
The GIC chained handlers use do_IRQ() to call the subhandlers. This means that irq_enter() calls get nested, which leads to preempt count looking like we're in nested interrupts, which in turn leads to all system time being accounted as IRQ time in account_system_time(). Fix it by using generic_handle_irq(). Since these same functions are used in some systems (if cpu_has_veic) from a low-level vectored interrupt handler which does not go throught do_IRQ(), we need to do it conditionally. Signed-off-by: Rabin Vincent <rabin.vincent@axis.com> Reviewed-by: Andrew Bresticker <abrestic@chromium.org> Acked-by: Thomas Gleixner <tglx@linutronix.de> Cc: linux-mips@linux-mips.org Cc: tglx@linutronix.de Cc: jason@lakedaemon.net Patchwork: https://patchwork.linux-mips.org/patch/10545/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'lib/mpi')
0 files changed, 0 insertions, 0 deletions