On 06/06/2016 23:28, Hauke Mehrtens wrote: > We used the hardware IRQ number to register the IRQ handler and not the > virtual one. This probably caused some problems because the hardware > IRQ numbers are only unique for each IRQ controller and not in the > system. The virtual IRQ number is managed by Linux and unique in the > system. This was probably the reason there was a gab of 8 IRQ numbers added > before the numbers used for the lantiq IRQ controller. With the current > setup the hardware and the virtual IRQ numbers are the same. > > Reported-by: Thomas Langer <thomas.langer@xxxxxxxxx> > Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> had this identical patch in my local tree since last week :-) there are also 2 small bugs in the ICU code, i'll post the patches the next couple of days. Acked-by: John Crispin <john@xxxxxxxxxxx> > --- > arch/mips/lantiq/irq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c > index ff17669e..56a1703 100644 > --- a/arch/mips/lantiq/irq.c > +++ b/arch/mips/lantiq/irq.c > @@ -344,7 +344,7 @@ static int icu_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw) > if (hw == ltq_eiu_irq[i].start) > chip = <q_eiu_type; > > - irq_set_chip_and_handler(hw, chip, handle_level_irq); > + irq_set_chip_and_handler(irq, chip, handle_level_irq); > > return 0; > } >