Messages in this thread | | | Subject | Re: [Regression] "irqdomain: Don't set type when mapping an IRQ" breaks nexus7 gpio buttons | From | Marc Zyngier <> | Date | Thu, 11 Aug 2016 09:37:45 +0100 |
| |
On 08/08/16 22:48, Linus Walleij wrote: > On Sat, Aug 6, 2016 at 1:45 AM, John Stultz <john.stultz@linaro.org> wrote: > >> @@ -614,7 +615,11 @@ unsigned int irq_create_fwspec_mapping(struct >> irq_fwspec *fwspec) >> * it now and return the interrupt number. >> */ >> if (irq_get_trigger_type(virq) == IRQ_TYPE_NONE) { >> - irq_set_irq_type(virq, type); >> + irq_data = irq_get_irq_data(virq); >> + if (!irq_data) >> + return 0; >> + >> + irqd_set_trigger_type(irq_data, type); >> return virq; >> } >> >> If I revert just that, it works again. > > This makes my platform work too. > Tested-by: Linus Walleij <linus.walleij@linaro.org>
Hmmm. I'm now booting your kernel on the APQ8060, and reverting this hunk doesn't fix it for me. I'm confused...
The interesting part is this: 109: 100000 0 msmgpio 88 Level (null)
which shows that the cascade interrupt has been disabled after 100000 unhandled interrupts. Somehow, this screams "misconfiguration"...
Thanks,
M. -- Jazz is not dead. It just smells funny...
| |