> -----Original Message----- > From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi- > owner@xxxxxxxxxxxxxxx] On Behalf Of Schmauss, Erik > Sent: Friday, July 27, 2018 2:51 PM > To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>; Rafael J. Wysocki > <rafael@xxxxxxxxxx> > Cc: Linux ACPI <linux-acpi@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List <linux- > kernel@xxxxxxxxxxxxxxx> > Subject: RE: [GIT PULL] ACPI fix for v4.18-rc7 > > > > > -----Original Message----- > > From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi- > > owner@xxxxxxxxxxxxxxx] On Behalf Of Linus Torvalds > > Sent: Friday, July 27, 2018 11:38 AM > > To: Rafael J. Wysocki <rafael@xxxxxxxxxx> > > Cc: Linux ACPI <linux-acpi@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List > > <linux- kernel@xxxxxxxxxxxxxxx> > > Subject: Re: [GIT PULL] ACPI fix for v4.18-rc7 > > > > My XPS13 laptop is unhappy with something recent. > > > > As of yesterday, I get this at bootup: > > > > ACPI: Added _OSI(Module Device) > > ACPI: Added _OSI(Processor Device) > > ACPI: Added _OSI(3.0 _SCP Extensions) > > ACPI: Added _OSI(Processor Aggregator Device) > > ACPI: Added _OSI(Linux-Dell-Video) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI Error: Result stack is empty! State=(____ptrval____) > > (20180531/dswstate-65) > > ACPI Error: AE_AML_NO_RETURN_VALUE, Missing or null operand > > (20180531/dsutils-612) > > ACPI Error: AE_AML_NO_RETURN_VALUE, While creating Arg 0 > > (20180531/dsutils-727) > > ACPI: 9 ACPI AML tables successfully acquired and loaded > > > > It does *not* happen in > > > > Linux version 4.18.0-rc6-00110-g6e77b267723c > > > > but it *does* happen in > > > > Linux version 4.18.0-rc6-00152-gcd3f77d74ac3 > > > > and while I didn't bisect it, I'm assuming it's due to 73c2a01c52b6 > > ("ACPICA: AML Parser: ignore dispatcher error status during table > > load") > > > > Ideas? > > Sorry about the breakage. I found the cause this failure and I'm working on a fix > right now. > > Erik Hi, The patch below should be able to fix this. >From a828a091828599154d8f6e8bfee1495a3df5cf34 Mon Sep 17 00:00:00 2001 From: Erik Schmauss <erik.schmauss@xxxxxxxxx> Date: Fri, 27 Jul 2018 15:37:35 -0700 From: Erik Schmauss <erik.schmauss@xxxxxxxxx> Subject: [PATCH 1] ACPICA: AML Parser: ignore control method status in module-level code Previous change in the AML parser code blindly set all non-successful dispatcher statuses to AE_OK. This approach is incorrect because successful control method invocations from module-level return AE_CTRL_TRANSFER. Overwriting AE_OK to this status causes the AML parser to think that there was no return value from the control method invocation. fixes: 73c2a01c52b6 (ACPICA: AML Parser: ignore dispatcher error status during table load) Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Erik Schmauss <erik.schmauss@xxxxxxxxx> --- psloop.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff -Nurp linux.before_name/drivers/acpi/acpica/psloop.c linux.after_name/drivers/acpi/acpica/psloop.c --- linux.before_name/drivers/acpi/acpica/psloop.c 2018-07-27 15:53:31.073522915 -0700 +++ linux.after_name/drivers/acpi/acpica/psloop.c 2018-07-27 15:53:25.320522527 -0700 @@ -714,15 +714,20 @@ acpi_status acpi_ps_parse_loop(struct ac } else if ((walk_state-> parse_flags & ACPI_PARSE_MODULE_LEVEL) + && status != AE_CTRL_TRANSFER && ACPI_FAILURE(status)) { /* - * ACPI_PARSE_MODULE_LEVEL means that we are loading a table by - * executing it as a control method. However, if we encounter - * an error while loading the table, we need to keep trying to - * load the table rather than aborting the table load. Set the - * status to AE_OK to proceed with the table load. If we get a - * failure at this point, it means that the dispatcher got an - * error while processing Op (most likely an AML operand error. + * ACPI_PARSE_MODULE_LEVEL flag means that we are currently + * loading a table by executing it as a control method. + * However, if we encounter an error while loading the table, + * we need to keep trying to load the table rather than + * aborting the table load (setting the status to AE_OK + * continues the table load). If we get a failure at this + * point, it means that the dispatcher got an error while + * processing Op (most likely an AML operand error) or a + * control method was called from module level and the + * dispatcher returned AE_CTRL_TRANSFER. In the latter case, + * leave the status alone, there's nothing wrong with it. */ status = AE_OK; } > > > > > Note only the errors are new. On older kernels, I just get: > > > > ACPI: Added _OSI(Module Device) > > ACPI: Added _OSI(Processor Device) > > ACPI: Added _OSI(3.0 _SCP Extensions) > > ACPI: Added _OSI(Processor Aggregator Device) > > ACPI: Added _OSI(Linux-Dell-Video) > > ACPI: 9 ACPI AML tables successfully acquired and loaded > > > > without the big slew of errors. > > > > Linus > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-acpi" > > in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo > > info at http://vger.kernel.org/majordomo-info.html > 칻 & ~ & +- ݶ w ˛ m b Zr ^n r z h & G h ( 階 ݢj" m z ޖ f > h ~ m ��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f