Re: [patch 0/8] parisc: Convert to new irq_chip functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 7 Feb 2011, James Bottomley wrote:

> On Mon, 2011-02-07 at 15:26 -0600, James Bottomley wrote:
> > Unfortunately, it's panicing on boot in txn_alloc (that's a CPU
> > interrupt allocation in the iosapic), so I'm going to debug further.
> 
> Following up with Thomas over IRC, the attached is the finally final
> patch he came up with to fix the panic and sort out the compile issues.
> I've verified this on an iosapic system (pa8800) and on dino/gsc (C360)
> could someone try it on an astro system?
> 
> Thanks,
> 
> James
> 
> diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
> index 9eea164..cb450e1 100644
> --- a/arch/parisc/kernel/irq.c
> +++ b/arch/parisc/kernel/irq.c
> @@ -113,7 +113,7 @@ int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest)
>  	int cpu_dest;
>  
>  	/* timer and ipi have to always be received on all CPUs */
> -	if (CHECK_IRQ_PER_CPU(irq)) {
> +	if (CHECK_IRQ_PER_CPU(irq_to_desc(d->irq)->status)) {

For extended fun I just noticed, that nothing ever sets IRQ_PER_CPU in
desc->status for all of parisc.

This check (using irq) never evaluated to true due to:

   #define IRQ_PER_CPU         0x00010000      /* IRQ is per CPU */

I doubt that irq can be that large on parisc :)

The other place evaluates to false as well, because nothing ever sets
the damn flag.

If you want to set it please use: set_irq_status_flags(irq, IRQ_PER_CPU);
otherwise just kill that PER_CPU thingy :)

Thanks,

	tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux