Messages in this thread Patch in this message | | | Date | Wed, 20 Oct 2004 16:51:48 +1000 | From | Paul Mackerras <> | Subject | [PATCH] PPC64 Fix XICS startup function to enable as well |
| |
When the generic IRQ patch went in, it changed the behaviour of setup_irq (compared to the previous ppc64 version) in that we now don't call the handler's enable function if it has a startup function. The XICS interrupt controller has a startup function, and so we weren't getting any interrupts through the XICS because they never got enabled. This patch adds a call to xics_enable_irq to xics_startup and fixes the problem.
Signed-off-by: Paul Mackerras <paulus@samba.org>
diff -urN linux-2.5/arch/ppc64/kernel/xics.c test/arch/ppc64/kernel/xics.c --- linux-2.5/arch/ppc64/kernel/xics.c 2004-08-24 07:22:47.000000000 +1000 +++ test/arch/ppc64/kernel/xics.c 2004-10-20 15:24:17.927552904 +1000 @@ -216,12 +216,15 @@ static unsigned int xics_startup(unsigned int virq) { - virq = irq_offset_down(virq); - if (radix_tree_insert(&irq_map, virt_irq_to_real(virq), - &virt_irq_to_real_map[virq]) == -ENOMEM) + unsigned int irq; + + irq = irq_offset_down(virq); + if (radix_tree_insert(&irq_map, virt_irq_to_real(irq), + &virt_irq_to_real_map[irq]) == -ENOMEM) printk(KERN_CRIT "Out of memory creating real -> virtual" " IRQ mapping for irq %u (real 0x%x)\n", - virq, virt_irq_to_real(virq)); + virq, virt_irq_to_real(irq)); + xics_enable_irq(virq); return 0; /* return value is ignored */ } - 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/
| |