On Wed, Feb 15, 2012 at 10:32:43PM -0700, Grant Likely wrote:
...
> That's a bug then.  The implementation should work without patch 24.  Does
> this patch fix it?
> 
Yes, it fixes the problem for me.

Regards,
Shawn

> ---
> 
> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
> index 2c1d6f8..2d3dfff 100644
> --- a/kernel/irq/irqdomain.c
> +++ b/kernel/irq/irqdomain.c
> @@ -516,8 +516,8 @@ unsigned int irq_find_mapping(struct irq_domain *domain,
>               return irq_domain_legacy_revmap(domain, hwirq);
>  
>       /* Slow path does a linear search of the map */
> -     if (hint < NUM_ISA_INTERRUPTS)
> -             hint = NUM_ISA_INTERRUPTS;
> +     if (hint == 0)
> +             hint = 1;
>       i = hint;
>       do {
>               struct irq_data *data = irq_get_irq_data(i);
> @@ -525,7 +525,7 @@ unsigned int irq_find_mapping(struct irq_domain *domain,
>                       return i;
>               i++;
>               if (i >= irq_virq_count)
> -                     i = NUM_ISA_INTERRUPTS;
> +                     i = 1
>       } while(i != hint);
>       return 0;
>  }
> 
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to