diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/include/asm/hw_irq.h | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/arch/powerpc/include/asm/hw_irq.h b/arch/powerpc/include/asm/hw_irq.h index e45c4947a772..d615b28dda82 100644 --- a/arch/powerpc/include/asm/hw_irq.h +++ b/arch/powerpc/include/asm/hw_irq.h | |||
@@ -95,15 +95,13 @@ static inline bool arch_irqs_disabled(void) | |||
95 | #define __hard_irq_disable() __mtmsrd(local_paca->kernel_msr, 1) | 95 | #define __hard_irq_disable() __mtmsrd(local_paca->kernel_msr, 1) |
96 | #endif | 96 | #endif |
97 | 97 | ||
98 | static inline void hard_irq_disable(void) | 98 | #define hard_irq_disable() do { \ |
99 | { | 99 | __hard_irq_disable(); \ |
100 | __hard_irq_disable(); | 100 | if (local_paca->soft_enabled) \ |
101 | get_paca()->soft_enabled = 0; | 101 | trace_hardirqs_off(); \ |
102 | get_paca()->irq_happened |= PACA_IRQ_HARD_DIS; | 102 | get_paca()->soft_enabled = 0; \ |
103 | } | 103 | get_paca()->irq_happened |= PACA_IRQ_HARD_DIS; \ |
104 | 104 | } while(0) | |
105 | /* include/linux/interrupt.h needs hard_irq_disable to be a macro */ | ||
106 | #define hard_irq_disable hard_irq_disable | ||
107 | 105 | ||
108 | static inline bool lazy_irq_pending(void) | 106 | static inline bool lazy_irq_pending(void) |
109 | { | 107 | { |