RE: [ACPI] [PATCH 1/2] IPMI and acpi=off|ht :acpi-get-firmware-failure.patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I don't understand the failure mode of acpi_tb_get_rsdt_address, it seems to always return what should be a valid pointer.  Please explain, thanks.

    if (AcpiGbl_RSDP->Revision < 2)
    {
        OutAddress->Pointer.Value = AcpiGbl_RSDP->RsdtPhysicalAddress;
    }
    else
    {
        OutAddress->Pointer.Value = ACPI_GET_ADDRESS (
            AcpiGbl_RSDP->XsdtPhysicalAddress);
    }


> -----Original Message-----
> From: [email protected] [mailto:acpi-devel-
> [email protected]] On Behalf Of Sergio Monteiro Basto
> Sent: Tuesday, May 17, 2005 4:28 PM
> To: Yann Droneaud
> Cc: Kernel Mailing List; ACPI Developers; Moore, Robert
> Subject: Re: [ACPI] [PATCH 1/2] IPMI and acpi=off|ht :acpi-get-firmware-
> failure.patch
> 
> Hi,
> I am CCing to Robert Moore because is about acpi/tables/tbxfroot.c. This
> is code from ACPICA
> http://developer.intel.com/technology/iapc/acpi/downloads.htm
> So we have to wait for the next version of ACPICA, on dmesg we can find
> it, for example:
> 
> ACPI: Subsystem revision 20050211
> 
> thanks,
> 
> On Mon, 2005-05-16 at 23:42 +0200, Yann Droneaud wrote:
> > This patch check that rsdt_info->pointer is not NULL before trying to
> > unmap ACPI tables, which can happen if acpi_tb_get_rsdt_address()
> failed.
> >
> > In my case, with ipmi_si_intf module and acpi=ht|off parameter, the call
> > failed because acpi_gbl_table_flags is not initialised, so the
> > address.pointer_type is not setup correctly, leading to message like:
> >
> > May 16 11:18:29 localhost kernel:     ACPI-0166: *** Error: Invalid
> address flags 8
> >
> > and rsdt_info->pointer equal to NULL leading to the Oops.
> >
> > --- linux-2.6.11.9/drivers/acpi/tables/tbxfroot.c	2005-05-11
> 18:42:39.000000000 -0400
> > +++ linux-2.6.11.9-fixes/drivers/acpi/tables/tbxfroot.c	2005-05-16
> 16:51:33.115768232 -0400
> > @@ -313,7 +313,9 @@ acpi_get_firmware_table (
> >
> >
> >  cleanup:
> > -	acpi_os_unmap_memory (rsdt_info->pointer, (acpi_size) rsdt_info-
> >pointer->length);
> > +	if (rsdt_info->pointer) {
> > +		acpi_os_unmap_memory (rsdt_info->pointer, (acpi_size)
> rsdt_info->pointer->length);
> > +	}
> >  	ACPI_MEM_FREE (rsdt_info);
> >
> >  	if (header) {
> >
> >
> > Signed-Off-by: [email protected]
> >
> --
> Sérgio M.B.
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by Oracle Space Sweepstakes
> Want to be the first software developer in space?
> Enter now for the Oracle Space Sweepstakes!
> http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
> _______________________________________________
> Acpi-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/acpi-devel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux