[PATCH v2] Make hard_irq_disable() actually hard-disable interrupts
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Jun 15 16:02:12 EST 2012
On Fri, 2012-06-15 at 14:51 +1000, Paul Mackerras wrote:
> At present, hard_irq_disable() does nothing on powerpc because of
> this code in include/linux/interrupt.h:
>
> #ifndef hard_irq_disable
> #define hard_irq_disable() do { } while(0)
> #endif
>
> So we need to make our hard_irq_disable be a macro.
>
> Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> Signed-off-by: Paul Mackerras <paulus at samba.org>
Add:
CC: <stable at kernel.org> [v3.4]
Before sending to Linus so it hits stable automagically.
Cheers,
Ben.
> --
> arch/powerpc/include/asm/hw_irq.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/powerpc/include/asm/hw_irq.h b/arch/powerpc/include/asm/hw_irq.h
> index c9aac24..32b394f 100644
> --- a/arch/powerpc/include/asm/hw_irq.h
> +++ b/arch/powerpc/include/asm/hw_irq.h
> @@ -100,6 +100,9 @@ static inline void hard_irq_disable(void)
> get_paca()->irq_happened |= PACA_IRQ_HARD_DIS;
> }
>
> +/* include/linux/interrupt.h needs hard_irq_disable to be a macro */
> +#define hard_irq_disable hard_irq_disable
> +
> /*
> * This is called by asynchronous interrupts to conditionally
> * re-enable hard interrupts when soft-disabled after having
More information about the Linuxppc-dev
mailing list