alistair23-linux/arch/metag
James Hogan 8b8b241299 metag: cpu hotplug: route_irq: preserve irq mask
The route_irq() function needs to preserve the irq mask by using the
_irqsave/irqrestore variants of raw spin lock functions instead of the
_irq variants. This is because it is called from __cpu_disable() (via
migrate_irqs()), which is called with IRQs disabled, so using the _irq
variants re-enables IRQs.

This appears to have been causing occasional hits of the
BUG_ON(!irqs_disabled()) in __irq_work_run() during CPU hotplug soak
testing:
  BUG: failure at kernel/irq_work.c:122/__irq_work_run()!

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
2013-07-02 14:12:22 +01:00
..
boot metag: tz1090: select and instantiate pinctrl-tz1090-pdc 2013-06-27 13:49:56 +01:00
configs metag: minimal TZ1090 (Comet) SoC infrastructure 2013-06-13 12:14:07 +01:00
include metag/traps: Mark die() as __noreturn to match the declaration. 2013-06-13 12:55:29 +01:00
kernel metag: cpu hotplug: route_irq: preserve irq mask 2013-07-02 14:12:22 +01:00
lib
mm metag/mm/cache: Restrict scope for metag_lnkget_probe 2013-06-13 12:55:28 +01:00
oprofile metag: OProfile support 2013-03-15 13:21:05 +00:00
tbx
Kconfig Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
Kconfig.debug
Kconfig.soc metag: tz1090: select and instantiate pinctrl-tz1090-pdc 2013-06-27 13:49:56 +01:00
Makefile metag: minimal TZ1090 (Comet) SoC infrastructure 2013-06-13 12:14:07 +01:00