From: Thomas Gleixner Date: Mon, 21 Feb 2011 11:54:34 +0000 (+0100) Subject: genirq: Fix misplaced status update in irq_disable() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a61d825808a0ce9935afebc225dcd602d5339e14;p=mv-sheeva.git genirq: Fix misplaced status update in irq_disable() We lazy disable interrupt lines, so only mark the line masked, when the chip provides an irq_disable callback. Signed-off-by: Thomas Gleixner --- diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 1d3e25e68b0..b5145654855 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -199,8 +199,8 @@ void irq_disable(struct irq_desc *desc) irq_state_set_disabled(desc); if (desc->irq_data.chip->irq_disable) { desc->irq_data.chip->irq_disable(&desc->irq_data); + irq_state_set_masked(desc); } - irq_state_set_masked(desc); } #ifndef CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED