Bug 199983 - Error message on boot about data types
Summary: Error message on boot about data types
Status: RESOLVED WILL_NOT_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: Config-Tables (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Erik Kaneda
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-08 09:01 UTC by Frank
Modified: 2023-08-04 01:14 UTC (History)
4 users (show)

See Also:
Kernel Version: 4.17.0
Subsystem:
Regression: No
Bisected commit-id:


Attachments
The acpidump output. (440.62 KB, text/plain)
2018-06-12 07:00 UTC, Frank
Details

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.

Note You need to log in before you can comment on or make changes to this bug.