Subject: Re: [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers

From: Sergei Shtylyov <[email-masked]>
Date: Mon, 20 Nov 2006 22:18:53 +0300

Hello.

Ingo Molnar wrote:

>>>   Hmm, that just won't do for PPC threaded fasteoi flows! What you'll 
>>>get is a threaded IRQ with EOI *never ever* issued, unless my PPC 
>>>patch is also in...

>>ok, how about the patch below in addition?

> or rather, the one below. Untested.

    Actually, it's been tested since it's close to Daniel's original variant. 
Should do it.

> 	Ingo

> Index: linux/kernel/irq/chip.c
> ===================================================================
> --- linux.orig/kernel/irq/chip.c
> +++ linux/kernel/irq/chip.c
> @@ -392,11 +394,12 @@ handle_fasteoi_irq(unsigned int irq, str
>  	desc->status |= IRQ_INPROGRESS;
>  
>  	/*
> -	 * In the threaded case we fall back to a mask+ack sequence:
> +	 * In the threaded case we fall back to a mask+eoi sequence:
>  	 */
>  	if (redirect_hardirq(desc)) {
> -		mask_ack_irq(desc, irq);
> -		goto out_unlock;
> +		if (desc->chip->mask)
> +			desc->chip->mask(irq);
> +		goto out;
>  	}
>  
>  	desc->status &= ~IRQ_PENDING;
> 
> 

WBR, Sergei