That handler lacks the minimal checks for action being zero etc. Keep the weird flow - ack before handling - intact and call into handle_simple_irq which does the right thing. Signed-off-by: Thomas Gleixner Acked-by: Greg Ungerer LKML-Reference: <20110202212552.413849952@linutronix.de> --- arch/m68knommu/platform/5272/intc.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) Index: linux-next/arch/m68knommu/platform/5272/intc.c =================================================================== --- linux-next.orig/arch/m68knommu/platform/5272/intc.c +++ linux-next/arch/m68knommu/platform/5272/intc.c @@ -137,11 +137,8 @@ static int intc_irq_set_type(unsigned in */ static void intc_external_irq(unsigned int irq, struct irq_desc *desc) { - kstat_incr_irqs_this_cpu(irq, desc); - desc->status |= IRQ_INPROGRESS; desc->chip->ack(irq); - handle_IRQ_event(irq, desc->action); - desc->status &= ~IRQ_INPROGRESS; + handle_simple_irq(irq, desc); } static struct irq_chip intc_irq_chip = { -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/