On Monday, 7 of July 2008, Maciej W. Rozycki wrote: > On Mon, 7 Jul 2008, Rafael J. Wysocki wrote: > > > @@ -1714,12 +1721,14 @@ static inline void __init check_timer(vo > > apic2 = apic1; > > } > > > > - replace_pin_at_irq(0, 0, 0, apic1, pin1); > > - apic1 = 0; > > - pin1 = 0; > > - setup_timer_IRQ0_pin(apic1, pin1, cfg->vector); > > + if (disable_irq0_through_ioapic) { > > + clear_IO_APIC_pin(apic1, pin1); > > + } else { > > + replace_pin_at_irq(0, 0, 0, apic1, pin1); > > + apic1 = 0; > > + pin1 = 0; > > + setup_timer_IRQ0_pin(apic1, pin1, cfg->vector); > > > > - if (pin1 != -1) { > > /* > > * Ok, does IRQ0 through the IOAPIC work? > > */ > > This is completely broken -- you cannot blindly assume IRQ0 is wired to > the pin #0 of the I/O APIC #0. You have to respect routing information > provided by the system. > > Ingo, from the sequence above, I gather this code is currently in the > tree: > > - replace_pin_at_irq(0, 0, 0, apic1, pin1); > - apic1 = 0; > - pin1 = 0; > > Please revert the change which introduced it. While I recall posting a > patch which added code like this, I clearly stated it was solely for > diagnostics of Rafael's system and not to apply to any tree. Shouldn't the setup_timer_IRQ0_pin(apic1, pin1, cfg->vector) be removed as well? Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html