2017-06-30 15:02 GMT+09:00 Krzysztof Kozlowski <krzk@xxxxxxxxxx>: > On Fri, Jun 30, 2017 at 4:47 AM, Tomasz Figa <tomasz.figa@xxxxxxxxx> wrote: >> Hi Thomas, >> >> 2017-06-30 6:33 GMT+09:00 Thomas Gleixner <tglx@xxxxxxxxxxxxx>: >>> The irq chip callbacks irq_request/release_resources() have absolutely no >>> business with masking and unmasking the irq. >>> >>> The core code unmasks the interrupt after complete setup and masks it >>> before invoking irq_release_resources(). >>> >>> The unmask is actually harmful as it happens before the interrupt is >>> completely initialized in __setup_irq(). >>> >>> Remove it. >> >> Good catch, thanks! (Note that the original patch of mine [1] did that >> in .irq_startup()/.irq_shutdown(), which was for some reason changed >> later, but I don't remember the exact story.) >> >> [1] https://patchwork.kernel.org/patch/4466431/ >> >> Acked-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> >> >> Sylwester, Krzysztof, would you be able to do some basic test? > > I suppose this was not tested so yes - I have platforms do this. I > understand that checking any non-shared GPIO interrupt should be > sufficient to test, right? I think any interrupt from the Exynos pin controller should work, even shared one. I'd expect irq_request_resources() to be invoked for shared interrupts as well, otherwise we have a problem... (I quickly looked through kernel/irq/manage.c and it seems to be invoked for the first __setup_irq() call even for shared interrupts.) Thanks. Best regards, Tomasz -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html