Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b88f772 authored by Tiejun Chen's avatar Tiejun Chen Committed by Benjamin Herrenschmidt
Browse files

powerpc: Access local paca after hard irq disabled



In hard_irq_disable(), we accessed the PACA before we hard disabled
the interrupts, potentially causing a warning as get_paca() will
us debug_smp_processor_id().

Move that to after the disabling, and also use local_paca directly
rather than get_paca() to avoid several redundant and useless checks.

Signed-off-by: default avatarTiejun Chen <tiejun.chen@windriver.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 0e0ed640
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -96,10 +96,11 @@ static inline bool arch_irqs_disabled(void)
#endif

#define hard_irq_disable()	do {			\
	u8 _was_enabled = get_paca()->soft_enabled;	\
	u8 _was_enabled;				\
	__hard_irq_disable();				\
	get_paca()->soft_enabled = 0;			\
	get_paca()->irq_happened |= PACA_IRQ_HARD_DIS;	\
	_was_enabled = local_paca->soft_enabled;	\
	local_paca->soft_enabled = 0;			\
	local_paca->irq_happened |= PACA_IRQ_HARD_DIS;	\
	if (_was_enabled)				\
		trace_hardirqs_off();			\
} while(0)