New Kconfig is added "CONFIG_IRQ_DEBUG_SUPPORT" to add warn_on
to alert the invalid transitions. Also moved the code under
the CONFIG_TRACE_IRQFLAGS in arch_local_irq_restore() to new Kconfig.

Reviewed-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Madhavan Srinivasan <ma...@linux.vnet.ibm.com>
---
 arch/powerpc/Kconfig      | 4 ++++
 arch/powerpc/kernel/irq.c | 6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 36f858c37ca7..0a8b730d0e46 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -93,6 +93,10 @@ config TRACE_IRQFLAGS_SUPPORT
        bool
        default y
 
+config IRQ_DEBUG_SUPPORT
+       bool
+       default n
+
 config LOCKDEP_SUPPORT
        bool
        default y
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index fda01a4a3672..324fb2c6f9d8 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -239,7 +239,7 @@ notrace void arch_local_irq_restore(unsigned long en)
        unsigned char irq_happened;
        unsigned int replay;
 
-#ifdef CONFIG_TRACE_IRQFLAGS
+#ifdef CONFIG_IRQ_DEBUG_SUPPORT
        WARN_ON(en & soft_disable_mask_return() & ~IRQ_DISABLE_MASK_LINUX);
 #endif
 
@@ -278,7 +278,7 @@ notrace void arch_local_irq_restore(unsigned long en)
         */
        if (unlikely(irq_happened != PACA_IRQ_HARD_DIS))
                __hard_irq_disable();
-#ifdef CONFIG_TRACE_IRQFLAGS
+#ifdef CONFIG_IRQ_DEBUG_SUPPORT
        else {
                /*
                 * We should already be hard disabled here. We had bugs
@@ -289,7 +289,7 @@ notrace void arch_local_irq_restore(unsigned long en)
                if (WARN_ON(mfmsr() & MSR_EE))
                        __hard_irq_disable();
        }
-#endif /* CONFIG_TRACE_IRQFLAGS */
+#endif /* CONFIG_IRQ_DEBUG_SUPPORT */
 
        soft_disable_mask_set(IRQ_DISABLE_MASK_LINUX);
 
-- 
2.7.4

Reply via email to