http://bugzilla.kernel.org/show_bug.cgi?id=10240





------- Comment #2 from [EMAIL PROTECTED]  2008-03-16 18:33 -------
Created an attachment (id=15304)
 --> (http://bugzilla.kernel.org/attachment.cgi?id=15304&action=view)
dsdt.dsl

DSDT attached. Yesterday I have found the roots of problem, here is the part of
extract_package from battery.c:
if (offsets[i].mode) {
            u8 *ptr = (u8 *)battery + offsets[i].offset;
            if (element->type == ACPI_TYPE_STRING ||
                element->type == ACPI_TYPE_BUFFER)
                strncpy(ptr, element->string.pointer, 32);
            else if (element->type == ACPI_TYPE_INTEGER) {
                strncpy(ptr, (u8 *)&element->integer.value,
                    sizeof(acpi_integer));
                ptr[sizeof(acpi_integer)] = 0;
            } else
                return -EFAULT; // Problem is here!!!
        }

BIOS returns ACPI_TYPE_ANY type. I've temporary commented return statement and
successfully read battery information (without some fields). I know that the
bug is in my bios, but don't know how to fix the dsdt (i've spent two hours
playing with BIF method). Maybe will be better just to skip some types?
Thank you.


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to