This is in line with irq_enable that uses the same fallback. When masked, interrupts are still latched into the status register so when unmasked there is an interrupt straight away.
Signed-off-by: Andreas Fenkart <andreas.fenk...@streamunlimited.com> --- kernel/irq/chip.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index cbd97ce..21f87b7 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -216,10 +216,11 @@ void irq_enable(struct irq_desc *desc) void irq_disable(struct irq_desc *desc) { irq_state_set_disabled(desc); - if (desc->irq_data.chip->irq_disable) { + if (desc->irq_data.chip->irq_disable) desc->irq_data.chip->irq_disable(&desc->irq_data); - irq_state_set_masked(desc); - } + else + desc->irq_data.chip->irq_mask(&desc->irq_data); + irq_state_set_masked(desc); } void irq_percpu_enable(struct irq_desc *desc, unsigned int cpu) -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/