[HP Pavilion Slimline 400] HIGH failures found in fwts klog test

Bug #1338412 reported by Po-Hsu Lin
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Won't Fix
Low
Alex Hung

Bug Description

CID: 201305-13517 HP Pavilion Slimline 400

The following 3 HIGH kernel messages were reported by fwts in the klog test:
High failures: 3
 klog: HIGH Kernel message: [ 7.814832] ACPI Error: Field [D128] at 1152 exceeds Buffer [NULL] size 160 (bits) (20131115/dsopcode-236)
 klog: HIGH Kernel message: [ 7.814838] ACPI Error: Method parse/execution failed [\HWMC] (Node ffff880100b79398), AE_AML_BUFFER_LIMIT (20131115/psparse-536)
 klog: HIGH Kernel message: [ 7.814845] ACPI Error: Method parse/execution failed [\_SB_.WMID.WMAA] (Node ffff880100b7a230), AE_AML_BUFFER_LIMIT (20131115/psparse-536)

These failure messages could be found in the suspend / hibernate log as well.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-3.13.0-24-generic 3.13.0-24.46 [modified: boot/vmlinuz-3.13.0-24-generic]
ProcVersionSignature: Ubuntu 3.13.0-24.46-generic 3.13.9
Uname: Linux 3.13.0-24-generic x86_64
ApportVersion: 2.14.1-0ubuntu3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ubuntu 1427 F.... pulseaudio
CurrentDesktop: Unity
CurrentDmesg:
 [ 12.504638] init: plymouth-upstart-bridge main process ended, respawning
 [ 13.957190] r8169 0000:03:00.0 eth0: link up
 [ 13.957197] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Date: Sun Jul 6 22:48:59 2014
HibernationDevice: RESUME=UUID=69a4f5d8-32af-41f3-a41a-43356b1247c5
InstallationDate: Installed on 2014-07-04 (3 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
IwConfig:
 eth0 no wireless extensions.

 lo no wireless extensions.
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-24-generic.efi.signed root=UUID=ca8138e8-bfcf-4a17-82dc-874ef7a3e9c4 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-24-generic N/A
 linux-backports-modules-3.13.0-24-generic N/A
 linux-firmware 1.127
RfKill:

SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/29/2013
dmi.bios.vendor: AMI
dmi.bios.version: 00.05
dmi.board.name: 2ADA
dmi.board.vendor: Hewlett-Packard
dmi.board.version: PVT
dmi.chassis.type: 3
dmi.chassis.vendor: Hewlett-Packard
dmi.modalias: dmi:bvnAMI:bvr00.05:bd03/29/2013:svnHewlett-Packard:pn:pvr:rvnHewlett-Packard:rn2ADA:rvrPVT:cvnHewlett-Packard:ct3:cvr:
dmi.sys.vendor: Hewlett-Packard

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
penalvch (penalvch)
tags: added: needs-full-computer-model
Daniel Manrique (roadmr)
Changed in linux (Ubuntu):
importance: Undecided → Low
Changed in linux (Ubuntu):
assignee: Anthony Wong (anthonywong) → Alex Hung (alexhung)
Revision history for this message
Alex Hung (alexhung) wrote :

This is a common error and I quote Ivan's analysis on a private bug:
=========================================================
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)
                        }
=========================================================

Revision history for this message
Alex Hung (alexhung) wrote :

This needs to be fixed in BIOS, but it is difficult, if not impossible, to get HP's attention to fix after product shipment. Fortunately, very few hp-wmi functions are used with kernel 3.13, and we probably will not see any failure except the the error messages.

Having say that, we still try harder to get HP's attention when this is in development cycle instead of "won't fix" it. I will try to figure how we can improve this.

Changed in linux (Ubuntu):
status: Confirmed → Won't Fix
Revision history for this message
Serdar Sağlam (serdarsaglam) wrote :

Ubuntu 18.10
Kernel: all kernel error

Hi
Hp Amd A10 9600p
[ 3.546921] RAS: Correctable Errors collector initialized.
[ 9.979321] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 9.979438] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 9.979484] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 9.979764] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 9.979872] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 9.988903] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 9.989220] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 9.989318] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 9.989358] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 9.990180] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 9.990274] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 9.990312] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 9.990557] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 9.990646] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 9.990682] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.