[PATCH] acpi: method: allow _WAK to return an integer
Colin Ian King
colin.king at canonical.com
Thu Feb 22 10:05:36 UTC 2018
On 22/02/18 09:59, ivanhu wrote:
> Hi Alex,
>
>
> I think it's no harm to give a warning for the firmware which not
> followed the ACPI spec.
+1
>
> FWTS tests the firmware, not test for OS(Windows and Linux), even OSes
> work with it, but it still not followed the ACPI spec.
+1
>
> Besides, we are not sure all OSes work with it.
+1
>
> Or we can send an ECR to UEFI forum to modify the ACPI _WAK method for
> returning integer.
Clarification with the UEFI forum would be useful too.
Colin
>
>
> Anyone has comments?
>
>
> Cheers,
>
> Ivan
>
>
> On 02/21/2018 03:27 PM, Alex Hung wrote:
>> On Tue, Feb 20, 2018 at 11:20 PM, ivanhu <ivan.hu at canonical.com> wrote:
>>>
>>> On 02/14/2018 02:19 PM, Alex Hung wrote:
>>>> Linux kernel allows _WAK to return an integer, as in acpica/acpredef.h.
>>>> The reason seems to be that so many system BIOS returns an integer
>>>> instead of a package defined in ACPI spec, and it becomes a strange
>>>> standard already. Since operating system allows the integer, it should
>>>> be appropriate for fwts to relax it as well.
>>>>
>>>> Signed-off-by: Alex Hung <alex.hung at canonical.com>
>>>> ---
>>>> src/acpi/method/method.c | 25 +++++++++++++++++--------
>>>> 1 file changed, 17 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
>>>> index 6839c3f..7c73e14 100644
>>>> --- a/src/acpi/method/method.c
>>>> +++ b/src/acpi/method/method.c
>>>> @@ -5552,17 +5552,26 @@ static void method_test_WAK_return(
>>>> void *private)
>>>> {
>>>> FWTS_UNUSED(private);
>>>> + FWTS_UNUSED(buf);
>>>> - if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) !=
>>>> FWTS_OK)
>>>> - return;
>>>> -
>>>> - if (fwts_method_package_count_equal(fw, name, "_WAK", obj, 2) !=
>>>> FWTS_OK)
>>>> - return;
>>>> + switch (obj->Type) {
>>>> + case ACPI_TYPE_PACKAGE:
>>>> + if (fwts_method_package_count_equal(fw, name, "_WAK", obj,
>>>> 2) != FWTS_OK)
>>>> + return;
>>>> - if (fwts_method_package_elements_all_type(fw, name, "_WAK", obj,
>>>> ACPI_TYPE_INTEGER) != FWTS_OK)
>>>> - return;
>>>> + if (fwts_method_package_elements_all_type(fw, name,
>>>> "_WAK", obj, ACPI_TYPE_INTEGER) != FWTS_OK)
>>>> + return;
>>>> - fwts_method_passed_sane(fw, name, "package");
>>>> + fwts_method_passed_sane(fw, name, "package");
>>>> + break;
>>>> + case ACPI_TYPE_INTEGER:
>>>> + fwts_method_passed_sane(fw, name, "integer");
>>>> + break;
>>>> + default:
>>>> + fwts_failed(fw, LOG_LEVEL_CRITICAL, "MethodReturnBadType",
>>>> + "%s did not return a package or an integer.",
>>>> name);
>>>> + break;
>>>> + }
>>>> }
>>>> static int method_test_WAK(fwts_framework *fw)
>>>>
>>>
>>> Should we give some warnings for this?
>> As far as I know, both Linux and Windows have been allowing it for
>> many years, since nobody gets it right since the beginning. It is
>> almost like a standard now...
>>
>> I would say we don't need to worry about it at all.
>>
>>> Ivan
>>>
>>> --
>>> fwts-devel mailing list
>>> fwts-devel at lists.ubuntu.com
>>> Modify settings or unsubscribe at:
>>> https://lists.ubuntu.com/mailman/listinfo/fwts-devel
>>
>>
>
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 837 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/fwts-devel/attachments/20180222/e23f3c29/attachment.sig>
More information about the fwts-devel
mailing list