From: James Hogan Date: Mon, 1 Jul 2013 14:36:38 +0000 (+0100) Subject: metag: cpu hotplug: route_irq: preserve irq mask X-Git-Tag: v3.11-rc1~79^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b8b2412994fffd5a8ab3b9209fa0aa9f0fcee4c;p=pandora-kernel.git 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 Acked-by: Thomas Gleixner Reviewed-by: Srivatsa S. Bhat --- Reading git-diff-tree failed