Message ID | 20120216053243.GM25779@ponder.secretlab.ca (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
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; > } >
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; }