On Fri, Aug 22, 2014 at 03:00:48AM +0800, Jiang Liu wrote: > Hi Mika, > I'm out of office until next Tuesday. Will handle this > when back to work. Could you please help to take a look at > mp_set_gsi_attr() to check whether it could be used to resolve > this issue. The problem seems to be that when we allocate the legacy 16 IRQ range, they will be set to edge-triggered and then info->set is set to 1 preventing any further configuration (if I understand that part right). I tried simply following and it seems to work. Not sure how correct it is, though. diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 29290f554e79..29c5d4fa9e86 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -1531,8 +1531,7 @@ static void __init setup_IO_APIC_irqs(void) KERN_DEBUG " apic %d pin %d not connected\n", mpc_ioapic_id(ioapic), pin); else - pin_2_irq(idx, ioapic, pin, - ioapic ? 0 : IOAPIC_MAP_ALLOC); + pin_2_irq(idx, ioapic, pin, 0); } } -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html