RE: [Kernel 5.1] ACPI_DEBUG messages without CONFIG_ACPI_DEBUG being set

From: Schmauss, Erik
Date: Tue May 07 2019 - 16:17:58 EST




> -----Original Message-----
> From: Gabriel C [mailto:nix.or.die@xxxxxxxxx]
> Sent: Tuesday, May 7, 2019 12:06 PM
> To: Schmauss, Erik <erik.schmauss@xxxxxxxxx>
> Cc: Rafael J. Wysocki <rafael@xxxxxxxxxx>; ACPI Devel Maling List <linux-
> acpi@xxxxxxxxxxxxxxx>; LKML <linux-kernel@xxxxxxxxxxxxxxx>; Moore,
> Robert <robert.moore@xxxxxxxxx>
> Subject: Re: [Kernel 5.1] ACPI_DEBUG messages without
> CONFIG_ACPI_DEBUG being set
>
> Am Di., 7. Mai 2019 um 20:46 Uhr schrieb Schmauss, Erik
> <erik.schmauss@xxxxxxxxx>:
> >
> >
> >
> > > -----Original Message-----
> > > From: Gabriel C [mailto:nix.or.die@xxxxxxxxx]
> > > Sent: Tuesday, May 7, 2019 2:33 AM
> > > To: Rafael J. Wysocki <rafael@xxxxxxxxxx>
> > > Cc: ACPI Devel Maling List <linux-acpi@xxxxxxxxxxxxxxx>; LKML
> > > <linux- kernel@xxxxxxxxxxxxxxx>; Schmauss, Erik
> > > <erik.schmauss@xxxxxxxxx>
> > > Subject: Re: [Kernel 5.1] ACPI_DEBUG messages without
> > > CONFIG_ACPI_DEBUG being set
> > >
> > > Am Di., 7. Mai 2019 um 10:35 Uhr schrieb Rafael J. Wysocki
> > > <rafael@xxxxxxxxxx>:
> > > >
> > > > On Tue, May 7, 2019 at 9:31 AM Gabriel C <nix.or.die@xxxxxxxxx>
> wrote:
> > > > >
> > > > > Am Di., 7. Mai 2019 um 09:01 Uhr schrieb Rafael J. Wysocki
> > > <rafael@xxxxxxxxxx>:
> > > > > >
> > > > > Hello Rafael , Erik
> > > > >
> > > > > > +Erik
> > > > > >
> > > > > > On Tue, May 7, 2019 at 1:33 AM Gabriel C
> > > > > > <nix.or.die@xxxxxxxxx>
> > > wrote:
> > > > > > >
> > > > > > > Hello,
> > > > > > >
> > > > > > > while testing kernel-5.1 I get on one of my Lenovo Laptops
> > > > > > > very strange 'ACPI Debug:' messages.
> > > > > > >
> > > > > > > After some grepping I realized these are Debug messages from
> > > > > > > DSDT , however my kernel does not have ACPI_DEBUG enabled.
> > > > > > >
> > > > > > > I found out the module triggering this, on this Laptop is
> > > > > > > ideapad_laptop , but looking at the code I cannot see what
> > > > > > > would causes that.
> > > > > > >
> > > > > > > Also on the same Laptop with any 5.0.X kernels I cannot see these.
> > > > > > >
> > > > > > >
> > > > > > > ~$ grep -i ACPI_DEBUG /boot/config-5.1-fw1 #
> > > > > > > CONFIG_ACPI_DEBUGGER is not set # CONFIG_ACPI_DEBUG is
> not
> > > set #
> > > > > > > CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set #
> > > > > > > CONFIG_THINKPAD_ACPI_DEBUG is not set
> > > > > > >
> > > > > > > .. dmesg ..
> > > > > > > ...
> > > > > > > [ 68.020812] calling ideapad_acpi_driver_init+0x0/0x1000
> > > > > > > [ideapad_laptop] @ 1322
> > > > > > > [ 68.026708] input: Ideapad extra buttons as
> > > > > > >
> > > /devices/pci0000:00/0000:00:1f.0/PNP0C09:00/VPC2004:00/input/input16
> > > > > > > [ 68.038236] ACPI Debug: "=====QUERY_64====="
> > > > > > > [ 68.050232] ACPI Debug: "=====QUERY_65====="
> > > > > > > [ 68.060218] ACPI Debug: "=====QUERY_64====="
> > > > > > > [ 68.092216] probe of VPC2004:00 returned 1 after 71386 usecs
> > > > > > > [ 68.092245] initcall ideapad_acpi_driver_init+0x0/0x1000
> > > > > > > [ideapad_laptop] returned 0 after 69751 usecssg
> > > > > > >
> > > > > > > ...
> > > > > > >
> > > > > > > These =====QUERY_XX===== messages are from DSDT:
> > > > > > >
> > > > > > > ~/acpi$ grep QUERY dsdt.dsl
> > > > > > > Debug = "=====QUERY_11====="
> > > > > > > Debug = "=====QUERY_12====="
> > > > > > > Debug = "=====QUERY_24====="
> > > > > > > Debug = "=====QUERY_25====="
> > > > > > > Debug = "=====QUERY_37====="
> > > > > > > Debug = "=====QUERY_38====="
> > > > > > > Debug = "=====QUERY_64====="
> > > > > > > Debug = "=====QUERY_65====="
> > > > > > >
> > > > > > > Also this is the code from DSDT for QUERY 64 and 65:
> > > > > > >
> > > > > > > ...
> > > > > > > Method (_Q64, 0, NotSerialized) // _Qxx: EC Query
> > > > > > > {
> > > > > > > Debug = "=====QUERY_64====="
> > > > > > > If ((OSYS == 0x07D9))
> > > > > > > {
> > > > > > > If (((WLEX == One) & (WLAT == One)))
> > > > > > > {
> > > > > > > SGOV (0x02040005, One)
> > > > > > > }
> > > > > > > Else
> > > > > > > {
> > > > > > > SGOV (0x02040005, Zero)
> > > > > > > }
> > > > > > > }
> > > > > > > }
> > > > > > >
> > > > > > > Method (_Q65, 0, NotSerialized) // _Qxx: EC Query
> > > > > > > {
> > > > > > > Debug = "=====QUERY_65====="
> > > > > > > If ((OSYS == 0x07D9))
> > > > > > > {
> > > > > > > If (((BTEX == One) & (BTAT == One)))
> > > > > > > {
> > > > > > > SGOV (0x0202000B, One)
> > > > > > > }
> > > > > > > Else
> > > > > > > {
> > > > > > > SGOV (0x0202000B, Zero)
> > > > > > > }
> > > > > > > }
> > > > > > > }
> > > > > > >
> > > > > > > ...
> > > > > > >
> > > > > > >
> > > > > > > Any idea what would cause this ?
> > > > >
> > > > > I think I found what is causing that.
> > > > >
> > > > > Commit aa9aaa4d61c0048d3faad056893cd7860bbc084c is moving
> > > definition
> > > > > of Linux's ACPI_DEBUG_DEFAULT to incude/acpi/platform/aclinux.h
> > > > > , however include/acpi/acpi.h didn't got updated and
> > > > > ACPI_DEBUG_DEFAULT now being always defined as (ACPI_LV_INIT
> |
> > > > > ACPI_LV_DEBUG_OBJECT | ACPI_LV_EVALUATION |
> ACPI_LV_REPAIR)
> > > >
> > > > I'm not sure what you mean by this.
> > > >
> > > > include/acpi/acpi.h should get the right definitions through
> > > > include/acpi/platform/acenv.h and include/acpi/acoutput.h that are
> > > > included by it.
> > > >
> > >
> > > Hmm yes should , I missed that include. However it does not work.
> > >
> > > I've just put back old code back into drivers/acpi/bus.c to test and
> > > all working now fine without any other changes.
> > >
> > > > It looks like incude/acpi/platform/aclinux.h has not been included
> > > > by include/acpi/platform/acenv.h for some reason when building
> > > > this module.
> > >
> > > If this one getting it wrong all will do so , they all just include
> <linux/acpi.h>.
> > >
> > > Probably not so much users will notice that , I just did because my
> > > BIOS vendor forgot DEBUG around.
> >
> > Do you still get this issue after doing make clean and rebuilding your
> kernel?
>
> A clean build from tarball has this issue for me. I don't think is a building
> problem , any <5.1 kernel is fine , kernel 5.1 with your commit reverted is fine
> too , kernel 5.1 with your commit in but the removed hunk in bus.c re-added
> is fine also.

I took a closer look. This was an obvious mistake on my part. Thanks for catching it.

The following should fix it:

diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h
index 624b90b34085..70b55b8fe48b 100644
--- a/include/acpi/platform/aclinux.h
+++ b/include/acpi/platform/aclinux.h
@@ -66,6 +66,12 @@

#define ACPI_INIT_FUNCTION __init

+
+/* Use a specific bugging default separate from ACPICA */
+
+#undef ACPI_DEBUG_DEFAULT
+#define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR)
+
#ifndef CONFIG_ACPI

/* External globals for __KERNEL__, stubs is needed */
@@ -82,11 +88,6 @@
#define ACPI_NO_ERROR_MESSAGES
#undef ACPI_DEBUG_OUTPUT

-/* Use a specific bugging default separate from ACPICA */
-
-#undef ACPI_DEBUG_DEFAULT
-#define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR)
-
/* External interface for __KERNEL__, stub is needed */

#define ACPI_EXTERNAL_RETURN_STATUS(prototype) \