[PATCH 2/2] acpi/wmi: Warn if a WMI GUID has zero instances

ivanhu ivan.hu at canonical.com
Fri Dec 15 03:44:42 UTC 2023


Looks good to me, but seems merge conflict.
Will fix it when I apply the patch

Acked-by: Ivan Hu <ivan.hu at canonical.com>


On 12/8/23 04:30, Armin Wolf wrote:
> Some machines like the HP Omen 17 ck2000nf contain WMI blocks
> with zero instances. This WMI blocks should have been removed
> from the _WDG buffer instead, since otherwise those entries
> are useless.
> Warn in such a case so that manufacturers can remove them
> from the _WDG buffer.
> 
> Signed-off-by: Armin Wolf <W_Armin at gmx.de>
> ---
>   fwts-test/wmi-0001/wmi-0001.log | 30 +++++++++++++++++++++++++++++-
>   fwts-test/wmi-0001/wmi-0002.log |  6 +++++-
>   fwts-test/wmi-0001/wmi-0003.log | 14 +++++++++++++-
>   src/acpi/wmi/wmi.c              |  6 ++++++
>   4 files changed, 53 insertions(+), 3 deletions(-)
> 
> diff --git a/fwts-test/wmi-0001/wmi-0001.log b/fwts-test/wmi-0001/wmi-0001.log
> index ecb71184..a7144eeb 100644
> --- a/fwts-test/wmi-0001/wmi-0001.log
> +++ b/fwts-test/wmi-0001/wmi-0001.log
> @@ -12,6 +12,8 @@ wmi                 Instance       : 0x50
>   wmi                 Driver         : think-lmi (Lenovo)
>   wmi             PASSED: Test 1, 51F5230E-9677-46CD-A1CF-C0B23EE34DB7 has
>   wmi             associated query method \_SB_.WMI1.WQA0
> +wmi             PASSED: Test 1, 51F5230E-9677-46CD-A1CF-C0B23EE34DB7 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI1._WDG (2 of 9)
>   wmi               GUID: 98479A64-33F5-4E33-A707-8E251EBBC3A1
> @@ -22,6 +24,8 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : think-lmi (Lenovo)
>   wmi             PASSED: Test 1, 98479A64-33F5-4E33-A707-8E251EBBC3A1 has
>   wmi             associated method \_SB_.WMI1.WMA1
> +wmi             PASSED: Test 1, 98479A64-33F5-4E33-A707-8E251EBBC3A1 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI1._WDG (3 of 9)
>   wmi               GUID: 6A4B54EF-A5ED-4D33-9455-B0D9B48DF4B3
> @@ -32,6 +36,8 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : think-lmi (Lenovo)
>   wmi             PASSED: Test 1, 6A4B54EF-A5ED-4D33-9455-B0D9B48DF4B3 has
>   wmi             associated method \_SB_.WMI1.WMA2
> +wmi             PASSED: Test 1, 6A4B54EF-A5ED-4D33-9455-B0D9B48DF4B3 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI1._WDG (4 of 9)
>   wmi               GUID: 74F1EBB6-927A-4C7D-95DF-698E21E80EB5
> @@ -41,6 +47,8 @@ wmi                 Object ID      : A3
>   wmi                 Instance       : 0x01
>   wmi             PASSED: Test 1, 74F1EBB6-927A-4C7D-95DF-698E21E80EB5 has
>   wmi             associated method \_SB_.WMI1.WMA3
> +wmi             PASSED: Test 1, 74F1EBB6-927A-4C7D-95DF-698E21E80EB5 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI1._WDG (5 of 9)
>   wmi               GUID: 7EEF04FF-4328-447C-B5BB-D449925D538D
> @@ -50,6 +58,8 @@ wmi                 Object ID      : A4
>   wmi                 Instance       : 0x01
>   wmi             PASSED: Test 1, 7EEF04FF-4328-447C-B5BB-D449925D538D has
>   wmi             associated method \_SB_.WMI1.WMA4
> +wmi             PASSED: Test 1, 7EEF04FF-4328-447C-B5BB-D449925D538D has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI1._WDG (6 of 9)
>   wmi               GUID: 8ADB159E-1E32-455C-BC93-308A7ED98246
> @@ -60,6 +70,8 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : think-lmi (Lenovo)
>   wmi             PASSED: Test 1, 8ADB159E-1E32-455C-BC93-308A7ED98246 has
>   wmi             associated query method \_SB_.WMI1.WQA5
> +wmi             PASSED: Test 1, 8ADB159E-1E32-455C-BC93-308A7ED98246 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI1._WDG (7 of 9)
>   wmi               GUID: 2651D9FD-911C-4B69-B94E-D0DED5963BD7
> @@ -70,6 +82,8 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : think-lmi (Lenovo)
>   wmi             PASSED: Test 1, 2651D9FD-911C-4B69-B94E-D0DED5963BD7 has
>   wmi             associated method \_SB_.WMI1.WMA6
> +wmi             PASSED: Test 1, 2651D9FD-911C-4B69-B94E-D0DED5963BD7 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI1._WDG (8 of 9)
>   wmi               GUID: 7364651A-132F-4FE7-ADAA-40C6C7EE2E3B
> @@ -80,6 +94,8 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : think-lmi (Lenovo)
>   wmi             PASSED: Test 1, 7364651A-132F-4FE7-ADAA-40C6C7EE2E3B has
>   wmi             associated method \_SB_.WMI1.WMA7
> +wmi             PASSED: Test 1, 7364651A-132F-4FE7-ADAA-40C6C7EE2E3B has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI1._WDG (9 of 9)
>   wmi               GUID: 05901221-D566-11D1-B2F0-00A0C9062910
> @@ -90,6 +106,8 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : wmi-bmof (Generic)
>   wmi             PASSED: Test 1, 05901221-D566-11D1-B2F0-00A0C9062910 has
>   wmi             associated query method \_SB_.WMI1.WQBA
> +wmi             PASSED: Test 1, 05901221-D566-11D1-B2F0-00A0C9062910 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI2._WDG (1 of 5)
>   wmi               GUID: FCB424F1-075A-4E0E-BFC4-62F3E71771FA
> @@ -99,6 +117,8 @@ wmi                 Object ID      : A7
>   wmi                 Instance       : 0x01
>   wmi             PASSED: Test 1, FCB424F1-075A-4E0E-BFC4-62F3E71771FA has
>   wmi             associated query method \_SB_.WMI2.WQA7
> +wmi             PASSED: Test 1, FCB424F1-075A-4E0E-BFC4-62F3E71771FA has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI2._WDG (2 of 5)
>   wmi               GUID: E2BE5EE3-42DA-49DB-8378-1F5247388202
> @@ -108,6 +128,8 @@ wmi                 Object ID      : A8
>   wmi                 Instance       : 0x01
>   wmi             PASSED: Test 1, E2BE5EE3-42DA-49DB-8378-1F5247388202 has
>   wmi             associated method \_SB_.WMI2.WMA8
> +wmi             PASSED: Test 1, E2BE5EE3-42DA-49DB-8378-1F5247388202 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI2._WDG (3 of 5)
>   wmi               GUID: 7430019A-DCE9-4548-BAB0-9FDE0935CAFF
> @@ -117,6 +139,8 @@ wmi                 Object ID      : A9
>   wmi                 Instance       : 0x0a
>   wmi             PASSED: Test 1, 7430019A-DCE9-4548-BAB0-9FDE0935CAFF has
>   wmi             associated query method \_SB_.WMI2.WQA9
> +wmi             PASSED: Test 1, 7430019A-DCE9-4548-BAB0-9FDE0935CAFF has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI2._WDG (4 of 5)
>   wmi               GUID: 7FF47003-3B6C-4E5E-A227-E979824A85D1
> @@ -126,6 +150,8 @@ wmi                 Object ID      : AA
>   wmi                 Instance       : 0x01
>   wmi             PASSED: Test 1, 7FF47003-3B6C-4E5E-A227-E979824A85D1 has
>   wmi             associated method \_SB_.WMI2.WMAA
> +wmi             PASSED: Test 1, 7FF47003-3B6C-4E5E-A227-E979824A85D1 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.WMI2._WDG (5 of 5)
>   wmi               GUID: 05901221-D566-11D1-B2F0-00A0C9062910
> @@ -136,8 +162,10 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : wmi-bmof (Generic)
>   wmi             PASSED: Test 1, 05901221-D566-11D1-B2F0-00A0C9062910 has
>   wmi             associated query method \_SB_.WMI2.WQBB
> +wmi             PASSED: Test 1, 05901221-D566-11D1-B2F0-00A0C9062910 has
> +wmi             more than zero instances
>   wmi
>   wmi             ==========================================================
> -wmi             14 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0
> +wmi             28 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0
>   wmi             info only.
>   wmi             ==========================================================
> diff --git a/fwts-test/wmi-0001/wmi-0002.log b/fwts-test/wmi-0001/wmi-0002.log
> index 5b56b28b..3fcc0144 100644
> --- a/fwts-test/wmi-0001/wmi-0002.log
> +++ b/fwts-test/wmi-0001/wmi-0002.log
> @@ -12,6 +12,8 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : asus-wmi (Asus)
>   wmi             PASSED: Test 1, 97845ED0-4E6D-11DE-8A39-0800200C9A66 has
>   wmi             associated method \_SB_.ATKD.WMNB
> +wmi             PASSED: Test 1, 97845ED0-4E6D-11DE-8A39-0800200C9A66 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.ATKD._WDG (2 of 2)
>   wmi               GUID: 0B3CBB35-E3C2-45ED-91C2-4C5A6D195D1C
> @@ -21,10 +23,12 @@ wmi                 Notification ID: 0xff
>   wmi                 Reserved       : 0x00
>   wmi                 Instance       : 0x01
>   wmi                 Driver         : asus-nb-wmi (Asus)
> +wmi             PASSED: Test 1, 0B3CBB35-E3C2-45ED-91C2-4C5A6D195D1C has
> +wmi             more than zero instances
>   wmi             PASSED: Test 1, All events associated with \_SB_.ATKD._WDG
>   wmi             are handled by a kernel driver.
>   wmi
>   wmi             ==========================================================
> -wmi             2 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0
> +wmi             4 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0
>   wmi             info only.
>   wmi             ==========================================================
> diff --git a/fwts-test/wmi-0001/wmi-0003.log b/fwts-test/wmi-0001/wmi-0003.log
> index c12736d5..4813041d 100644
> --- a/fwts-test/wmi-0001/wmi-0003.log
> +++ b/fwts-test/wmi-0001/wmi-0003.log
> @@ -12,6 +12,8 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : dell-wmi-descriptor (Dell)
>   wmi             PASSED: Test 1, 8D9DDCBC-A997-11DA-B012-B622A1EF5492 has
>   wmi             associated query method \_SB_.AMW0.WQAA
> +wmi             PASSED: Test 1, 8D9DDCBC-A997-11DA-B012-B622A1EF5492 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.AMW0._WDG (2 of 6)
>   wmi               GUID: A80593CE-A997-11DA-B012-B622A1EF5492
> @@ -22,6 +24,8 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : alienware-wmi (Alienware)
>   wmi             PASSED: Test 1, A80593CE-A997-11DA-B012-B622A1EF5492 has
>   wmi             associated method \_SB_.AMW0.WMBA
> +wmi             PASSED: Test 1, A80593CE-A997-11DA-B012-B622A1EF5492 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.AMW0._WDG (3 of 6)
>   wmi               GUID: DD8C7670-1CB5-11DB-A98B-669A0C200008
> @@ -31,6 +35,8 @@ wmi                 Object ID      : BC
>   wmi                 Instance       : 0x01
>   wmi             PASSED: Test 1, DD8C7670-1CB5-11DB-A98B-669A0C200008 has
>   wmi             associated method \_SB_.AMW0.WMBC
> +wmi             PASSED: Test 1, DD8C7670-1CB5-11DB-A98B-669A0C200008 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.AMW0._WDG (4 of 6)
>   wmi               GUID: 9DBB5994-A997-11DA-B012-B622A1EF5492
> @@ -40,6 +46,8 @@ wmi                 Notification ID: 0xd0
>   wmi                 Reserved       : 0x00
>   wmi                 Instance       : 0x01
>   wmi                 Driver         : dell-wmi-base (Dell)
> +wmi             PASSED: Test 1, 9DBB5994-A997-11DA-B012-B622A1EF5492 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.AMW0._WDG (5 of 6)
>   wmi               GUID: A3776CE0-1E88-11DB-A98B-0800200C9A66
> @@ -51,6 +59,8 @@ wmi             FAILED [LOW] WMIMissingQueryMethod: Test 1, GUID
>   wmi             A3776CE0-1E88-11DB-A98B-0800200C9A66 should have an
>   wmi             associated query method WQBC defined, however this does
>   wmi             not seem to exist.
> +wmi             PASSED: Test 1, A3776CE0-1E88-11DB-A98B-0800200C9A66 has
> +wmi             more than zero instances
>   wmi
>   wmi             \_SB_.AMW0._WDG (6 of 6)
>   wmi               GUID: 05901221-D566-11D1-B2F0-00A0C9062910
> @@ -61,10 +71,12 @@ wmi                 Instance       : 0x01
>   wmi                 Driver         : wmi-bmof (Generic)
>   wmi             PASSED: Test 1, 05901221-D566-11D1-B2F0-00A0C9062910 has
>   wmi             associated query method \_SB_.AMW0.WQMO
> +wmi             PASSED: Test 1, 05901221-D566-11D1-B2F0-00A0C9062910 has
> +wmi             more than zero instances
>   wmi             PASSED: Test 1, All events associated with \_SB_.AMW0._WDG
>   wmi             are handled by a kernel driver.
>   wmi
>   wmi             ==========================================================
> -wmi             5 passed, 1 failed, 0 warning, 0 aborted, 0 skipped, 0
> +wmi             11 passed, 1 failed, 0 warning, 0 aborted, 0 skipped, 0
>   wmi             info only.
>   wmi             ==========================================================
> diff --git a/src/acpi/wmi/wmi.c b/src/acpi/wmi/wmi.c
> index 8777eb17..097c3873 100644
> --- a/src/acpi/wmi/wmi.c
> +++ b/src/acpi/wmi/wmi.c
> @@ -461,6 +461,12 @@ static void wmi_parse_wdg_data(
>   			wmi_known_driver(fw, known);
>   			wmi_block_query_exist_count(fw, info, acpi_object_name, guid_str);
>   		}
> +
> +		if (info->instance == 0)
> +			fwts_failed(fw, LOG_LEVEL_LOW, "WMIZeroInstance",
> +				    "GUID %s has zero instances", guid_str);
> +		else
> +			fwts_passed(fw, "%s has more than zero instances", guid_str);
>   	}
> 
>   	if (events && all_events_known)
> --
> 2.39.2
> 
> 



More information about the fwts-devel mailing list