Messages in this thread | | | Date | Wed, 15 Feb 2012 22:03:35 -0800 | From | Shawn Guo <> | Subject | Re: [PATCH v3 24/25] irq_domain: remove "hint" when allocating irq numbers |
| |
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; > } >
| |