On Fri, Jul 18, 2014 at 11:52 AM, Lars-Peter Clausen <lars@xxxxxxxxxx> wrote: > The Zynq GPIO controller does not disable the interrupt detection when the > interrupt is masked and only disables the propagation of the interrupt. This > means when the controller detects an interrupt condition while the interrupt is > logically disabled (and masked) it will propagate the recorded interrupt event > once the interrupt is enabled. This will cause the interrupt consumer to see > spurious interrupts to prevent this first make sure that the interrupt is not > asserted and then enable it. > > E.g. when a interrupt is requested with request_irq() it will be configured > according to the requested type (edge/level triggered, etc.) after that it will > be enabled. But the detection circuit might have already registered a false > interrupt before the interrupt type was correctly configured and once the > interrupt is unmasked this false interrupt will be propagated and the interrupt > handler for the just request interrupt will called. > > Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Seems like you know what you're doing. Patch tentatively applied unless Harini or Soren protests... Yours, Linus Walleij -- 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