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: 2020-04-27 16:24 UTC (History)
3 users (show)

See Also:
Kernel Version: 4.17.0
Tree: Mainline
Regression: No


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.

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