|
Prev: [PATCH] x86: fix compiling when CONFIG_X86_MPPARSE is not set
Next: sched: rt: dont stop the period timer when there are tasks wanting to run
From: Esben Haabendal on 19 Jun 2008 15:50 Any reason for __set_irq_handler not supporting the IRQ_NOAUTOEN flag? /Esben kernel/irq/chip.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 964964b..42bb163 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -584,10 +584,15 @@ __set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained, desc->name = name; if (handle != handle_bad_irq && is_chained) { - desc->status &= ~IRQ_DISABLED; desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE; - desc->depth = 0; - desc->chip->unmask(irq); + if (!(desc->status & IRQ_NOAUTOEN)) { + desc->depth = 0; + desc->status &= ~IRQ_DISABLED; + desc->chip->unmask(irq); + } else { + /* Undo nested disables: */ + desc->depth = 1; + } } spin_unlock_irqrestore(&desc->lock, flags); } -- Esben Haabendal, Senior Software Consultant Dor�Development ApS, Ved Stranden 1, 9560 Hadsund, DK-Denmark Tlf: +45 51 92 53 93, mail: eha(a)doredevelopment.dk WWW: http://www.doredevelopment.dk -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |