From: Andrew Morton Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton --- kernel/irq/manage.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff -puN kernel/irq/manage.c~genirq-rename-desc-handler-to-desc-chip-terminate_irqs-fix kernel/irq/manage.c --- a/kernel/irq/manage.c~genirq-rename-desc-handler-to-desc-chip-terminate_irqs-fix +++ a/kernel/irq/manage.c @@ -398,17 +398,10 @@ EXPORT_SYMBOL(request_irq); */ void terminate_irqs(void) { - struct irqaction * action; - irq_desc_t *idesc; + irq_desc_t *desc = irq_desc; int i; - for (i=0; i < NR_IRQS; i++) { - idesc = irq_descp(i); - action = idesc->action; - if (!action) - continue; - if (idesc->handler->end) - idesc->handler->end(i); - } + for (i = 0; i < NR_IRQS; i++, desc++) + if (desc->action && desc->chip->end) + desc->chip->end(i); } - _