On Monday, 7 of July 2008, Maciej W. Rozycki wrote: > On Mon, 7 Jul 2008, Ingo Molnar wrote: > > > > Please note two things: > > > (1) The whole acpi_dmi_table[] thing originally depended on __i386__, so it > > > wouldn't work on x86-64 no matter what. I removed that dependecy, but > > > I have no idea why it was there and so I'm not sure if that's correct. > > Well spottedd -- perhaps the x86-64 was though to be perfect. ;) > > > > (2) The clear_IO_APIC_pin(apic1, pin1) done if > > > disable_irq0_through_ioapic is true is absolutely essential. The > > > symptoms are 100% reproducible without it. > > > > thanks, applied to tip/x86, to give this some more testing. > > > > the clear_IO_APIC_pin() is the most worrisome aspect of the change - but > > since we are already in limited quirk mode, does it hurt? Maciej, any > > preferences? > > It makes absolutely no sense and should be harmful to call > clear_IO_APIC_pin(apic1, pin1) here, because both apic1 and pin1 should be > equal to -1 here. If it has to be called, then I suppose the DMI matching > did not work and the workaround has not been enabled. BTW, did you even to look at the code _as_ _is_ in linux-next? In fact, it is _impossible_ that either apic1 or pin1 are equal to -1 at this point, because of this part: /* * Some BIOS writers are clueless and report the ExtINTA * I/O APIC input from the cascaded 8259A as the timer * interrupt input. So just in case, if only one pin * was found above, try it both directly and through the * 8259A. */ if (pin1 == -1) { pin1 = pin2; apic1 = apic2; no_pin1 = 1; } else if (pin2 == -1) { pin2 = pin1; apic2 = apic1; } that originates from your patch. End even without this part apic1 and pin1 are _not_ equal to -1 on this box (apic2 and pin2 are, but that's a different matter). Thanks, 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