Bug 199983

Summary: Error message on boot about data types
Product: ACPI Reporter: Frank (bugzilla)
Component: Config-TablesAssignee: Erik Kaneda (erik.kaneda)
Status: RESOLVED WILL_NOT_FIX    
Severity: normal CC: AlMa0, jeremy9856, orbanbalage, rui.zhang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.17.0 Subsystem:
Regression: No Bisected commit-id:
Attachments: The acpidump output.

Description Frank 2018-06-08 09:01:03 UTC
Since many kernel version's an error is logged on every boot.
But the system looks running fine.

message:
ACPI Error: Needed type [Reference], found [Integer]         (ptrval) (20180313/exresop-69)
ACPI Error: AE_AML_OPERAND_TYPE, While resolving operands for [OpcodeName unavailable] (20180313/dswexec-427)
ACPI Error: Method parse/execution failed \_PR.CPU0._PDC, AE_AML_OPERAND_TYPE (20180313/psparse-516)

System: Lenovo T440p firmware: 2.49

As I found, that the error will happens on many Lenovo devices.
Comment 1 Zhang Rui 2018-06-12 03:31:46 UTC
please attach the acpidump output
Comment 2 Frank 2018-06-12 07:00:17 UTC
Created attachment 276489 [details]
The acpidump output.
Comment 3 Zhang Rui 2018-06-22 04:16:31 UTC
so it is this piece of code that causes the failure
        Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
        {
            If (CondRefOf (\_PR.CPU0._PPC))
            {
                \_PR.CPU0._PPC () = CPPC /* \_PR_.CPPC */
            }

            Local0 = CPDC (Arg0)
            GCAP (Local0)
            Return (Local0)
        }


\_PR.CPU0._PPC is a method, and I don't understand how this piece of code is supposed to work.

@erik, can you please check if this is buggy ASL?
Comment 4 Erik Kaneda 2018-06-28 23:48:28 UTC
(In reply to Frank from comment #0)
> Since many kernel version's an error is logged on every boot.
> But the system looks running fine.
> 
> message:
> ACPI Error: Needed type [Reference], found [Integer]         (ptrval)
> (20180313/exresop-69)
> ACPI Error: AE_AML_OPERAND_TYPE, While resolving operands for [OpcodeName
> unavailable] (20180313/dswexec-427)

OpcodeName unavailable seems a bit scary. Could you try upgrading to kernel version 4.18-rc1 or newer and check if you still have the same error in the dmesg?
Comment 5 Frank 2018-06-29 07:46:06 UTC
Hi Erik,
on 4.18-rc1
I get the same message but only with other numbers:
ACPI Error: Needed type [Reference], found [Integer] (____ptrval____) (20180531/exresop-69)
ACPI Error: AE_AML_OPERAND_TYPE, While resolving operands for [OpcodeName unavailable] (20180531/dswexec-427)
ACPI Error: Method parse/execution failed \_PR.CPU0._PDC, AE_AML_OPERAND_TYPE (20180531/psparse-516)
Comment 6 Erik Kaneda 2018-10-12 23:13:39 UTC
hi, This is a firmware issue. If there aren't any symptoms that you experience because of this message, it's probably not a serious error. If you would like to try getting this error, you can try contacting the firmware vendor. I'll close this because this is a firmware issue rather than a linux kernel issue.
Comment 7 paviluf 2018-10-20 14:52:08 UTC
Are you 100% sure that this is a firmware bug ? If it's the case I will try to reach Lenovo to ask them to fix it (I suggest to anyone impacted to do it too). Thanks.
Comment 8 Erik Kaneda 2018-10-23 16:32:53 UTC
(In reply to paviluf from comment #7)
> Are you 100% sure that this is a firmware bug ? If it's the case I will try
> to reach Lenovo to ask them to fix it (I suggest to anyone impacted to do it
> too). Thanks.

Yes, what's happening is that there is an attempt to store an integer to a reference type in the bytecode.
Comment 9 AlMa0r 2023-08-04 01:14:46 UTC
(In reply to paviluf from comment #7)
> Are you 100% sure that this is a firmware bug ? If it's the case I will try
> to reach Lenovo to ask them to fix it (I suggest to anyone impacted to do it
> too). Thanks.

Similar bug: http://bugs.debian.org/1026965 , http://github.com/fwupd/firmware-lenovo/issues/119#issuecomment-1664825807 .   There, you have


Aug 04 00:34:14 MyPC kernel: ACPI Error: Needed [Integer/String/Buffer], found [Package] 000000007577f2c1 (20220331/exresop-469)
Aug 04 00:34:14 MyPC kernel: ACPI Error: AE_AML_OPERAND_TYPE, While resolving operands for [OpcodeName unavailable] (20220331/dswexec-431)
Aug 04 00:34:14 MyPC kernel: ACPI Error: Aborting method \ADBG due to previous error (AE_AML_OPERAND_TYPE) (20220331/psparse-529)
Aug 04 00:34:14 MyPC kernel: ACPI Error: Aborting method \_SB.HIDD._DSM due to previous error (AE_AML_OPERAND_TYPE) (20220331/psparse-529)
Aug 04 00:34:14 MyPC kernel: ACPI: \_SB_.HIDD: failed to evaluate _DSM b356ecee-4244-8f40-a792-4edd4d758054 (0x3003)


Similar but not exactly the same.  If you have not yet reached out to Lenovo, please do.