[PATCH 1/2] powerpc: ipic: use set_irq_chip to ensure irq_chip defaults are applied

Thomas Gleixner tglx at linutronix.de
Mon Jun 7 09:45:36 EST 2010


On Fri, 4 Jun 2010, Esben Haabendal wrote:

What's the rationale of this patch and which problem does it solve ?

> Signed-off-by: Esben Haabendal <eha at doredevelopment.dk>
> ---
>  arch/powerpc/sysdev/ipic.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c
> index d7b9b9c..8464b86 100644
> --- a/arch/powerpc/sysdev/ipic.c
> +++ b/arch/powerpc/sysdev/ipic.c
> @@ -630,10 +630,10 @@ static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type)
>  	if (flow_type & IRQ_TYPE_LEVEL_LOW)  {
>  		desc->status |= IRQ_LEVEL;
>  		desc->handle_irq = handle_level_irq;
> -		desc->chip = &ipic_level_irq_chip;
> +		set_irq_chip(virq, &ipic_level_irq_chip);

This patch has never been tested with spinlock debugging enabled and
will break SMP as it causes a deadlock on irq_desc->lock.

Again: See Documentation/Submit*

Thanks,

	tglx


More information about the Linuxppc-dev mailing list