More detail information,
This is caused by the wmi driver(hp-wmi.c) brings the input data 160bits
struct bios_args {
u32 signature;
u32 command;
u32 commandtype;
u32 datasize;
u32 data; --- 4 bytes data
};
into the the acpi method HWMC as Arg1,
Method (HWMC, 2, NotSerialized)
{
CreateDWordField (Arg1, Zero, SGIN)
CreateDWordField (Arg1, 0x04, COMD)
CreateDWordField (Arg1, 0x08, CMDT)
CreateDWordField (Arg1, 0x0C, DSZI)
CreateByteField (Arg1, 0x10, D008)
CreateByteField (Arg1, 0x11, D009)
CreateByteField (Arg1, 0x12, D010)
CreateField (Arg1, 0x80, 0x0400, D128) --- 128 bytes
.....
}
the error occurred because the mismatch between the 4bytes "data" provided, but
the firmware 128 bytes "D128" used.
checking with the HP wmi spec, several wmi command type used input date 128
bytes (such as type 36h, Set Peak Shift Times, type 37h Set Battery Charging
Times). But this is not used by the hp-wmi.c. It is not reasonable to
CreateField for 128bytes at the method beginning, in stead, it should be
createfielded while it is used.
So I suggest the firmware should move the
CreateField (Arg1, 0x80, 0x0400, D128)
into the place that D128 is used, such as the type 36h, 37h.
If (LEqual (CMDT, 0x36))
{
move to here ---- CreateField (Arg1, 0x80, 0x0400, D128)
Store (\_SB.WMID.SPST (D128), Local2)
Store (Zero, RETC)
}
If (LEqual (CMDT, 0x37))
{
move to here --- CreateField (Arg1, 0x80, 0x0400, D128)
Store (\_SB.WMID.SBCT (D128), Local2)
Store (Zero, RETC)
}
but actually the D128 isn't really used by (type 36h, type 37h) and other type.
If (LEqual (CMDT, 0x36))
{
Store (\_SB.WMID.GPST (), Local2)
Store (Zero, RETC)
}
If (LEqual (CMDT, 0x37))
{
Store (\_SB.WMID.GBCT (), Local2)
Store (Zero, RETC)
}
So directly remove
CreateField (Arg1, 0x80, 0x0400, D128) in the firmware is suggested.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1175475
Title:
[HP Pavilion Slimline S5] fwts_test reports Critical /High falures for
hibernation/suspend test
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1175475/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs