Re: [PATCH 2.6.12.4] ACPI oops during ipmi_si driver init

From: Corey Minyard
Date: Wed Aug 17 2005 - 15:32:17 EST


Peter Martuccelli wrote:

On Mon, 2005-08-15 at 18:13, Bjorn Helgaas wrote:


On Friday 12 August 2005 1:44 pm, Peter Martuccelli wrote:


Stumbled into this problem working on the ipmi_si driver. When the
ipmi_si driver initialization fails the acpi_tb_get_table call, after rsdt_info has been allocated, acpi_get_firmware_table()
will oops trying to reference off rsdt_info->pointer in the cleanup
code.


I don't know whether the ACPI patch is correct or desirable, but
I think the ipmi_si ACPI discovery is bogus (it was probably
written before the current ACPI and PNPACPI driver registration
interfaces were stable).

Currently, ipmi_si uses the static SPMI table to locate the
device. But the static table should only be used if we need
the device very early, before the ACPI namespace is available.

I don't think we use the device early, so we should use
pnp_register_driver() to claim the appropriate PNP IDs.
Or we might have to use acpi_bus_register_driver() since
it looks like it uses ACPI-specific features like GPEs.


Adding in Corey to the discussion regarding ipmi_si initialization,
waiting on Len to decide on the ACPI fix.


I couldn't find any documentation on how the ACPI interfaces work, so I'm kind of in the dark.

Basically, the IPMI system interface needs information from a specific IPMI table to know how to configure itself. Those tables can reference GPEs, so the driver can use those (though AFAIK it has never been tested).

From spending 30 minutes searching and looking at things, I have no idea how to tie this in. Can you point me to some docs? Or do I have to spend hours digging?

-Corey
-
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/