Re: [PATCH 2/2] acpi: Disable IRQ 0 through I/O APIC for some HP systems

From: Rafael J. Wysocki
Date: Mon Jul 07 2008 - 08:26:56 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/