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 <tglx@linutronix.de>
This commit is contained in:
@@ -199,8 +199,8 @@ void irq_disable(struct irq_desc *desc)
|
|||||||
irq_state_set_disabled(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);
|
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
|
#ifndef CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED
|
||||||
|
Reference in New Issue
Block a user