]> git.baikalelectronics.ru Git - kernel.git/commit
sparc64: Do not disable interrupts in nmi_cpu_busy()
authorDavid S. Miller <davem@davemloft.net>
Tue, 12 Aug 2014 03:45:01 +0000 (20:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 12 Aug 2014 03:45:01 +0000 (20:45 -0700)
commit620a9c89bd1c7bae93f901e269d7bc7bac530f10
tree4124d9c21f56fced74e2bd1f00631b79c37ca092
parentb85ac7f7bc4c576d3e25730cc162eb53f57ee858
sparc64: Do not disable interrupts in nmi_cpu_busy()

nmi_cpu_busy() is a SMP function call that just makes sure that all of the
cpus are spinning using cpu cycles while the NMI test runs.

It does not need to disable IRQs because we just care about NMIs executing
which will even with 'normal' IRQs disabled.

It is not legal to enable hard IRQs in a SMP cross call, in fact this bug
triggers the BUG check in irq_work_run_list():

BUG_ON(!irqs_disabled());

Because now irq_work_run() is invoked from the tail of
generic_smp_call_function_single_interrupt().

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/kernel/nmi.c