[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