Please ignore this. The fix is against the caller. Thanks and best regards -Lv > -----Original Message----- > From: Devel [mailto:devel-bounces@xxxxxxxxxx] On Behalf Of Zheng, Lv > Sent: Friday, October 09, 2015 10:02 AM > To: Prarit Bhargava; Moore, Robert; devel@xxxxxxxxxx > Cc: linux-acpi@xxxxxxxxxxxxxxx; Wysocki, Rafael J > Subject: Re: [Devel] [PATCH] ACPICA: AcpiGetSleepTypeData: Failure to find \_Sx should not result in a loud warning [v2] > > Why don't you fix this in the invoker side? > For example: > If (acpi_get_handle()) > acpi_evaluate_object() > So that the AE_NOT_FOUND warning can still be kept for the real troubles? > There are really scenarios that such warning is useful for catching bugs. > > Thanks and best regards > -Lv > > > -----Original Message----- > > From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi-owner@xxxxxxxxxxxxxxx] On Behalf Of Prarit Bhargava > > Sent: Thursday, October 08, 2015 10:23 PM > > To: Moore, Robert; devel@xxxxxxxxxx > > Cc: Zheng, Lv; Wysocki, Rafael J; Len Brown; linux-acpi@xxxxxxxxxxxxxxx > > Subject: Re: [PATCH] ACPICA: AcpiGetSleepTypeData: Failure to find \_Sx should not result in a loud warning [v2] > > > > > > > > On 10/08/2015 10:19 AM, Moore, Robert wrote: > > > We'll do the ACPICA version of this, although with probably with some changes. > > > Thanks, > > > > Thanks Bob. If you could let me know when this lands in github(?) that would be > > great. I'll reference it in the backport upstream. > > > > P. > > > > > Bob > > > > > > > > >> -----Original Message----- > > >> From: Prarit Bhargava [mailto:prarit@xxxxxxxxxx] > > >> Sent: Wednesday, October 07, 2015 11:51 AM > > >> To: devel@xxxxxxxxxx > > >> Cc: Prarit Bhargava; Moore, Robert; Zheng, Lv; Wysocki, Rafael J; Len > > >> Brown; linux-acpi@xxxxxxxxxxxxxxx > > >> Subject: [PATCH] ACPICA: AcpiGetSleepTypeData: Failure to find \_Sx should > > >> not result in a loud warning [v2] > > >> > > >> 48ffb94 ("ACPICA: AcpiGetSleepTypeData: Allow \_Sx to return either 1 or 2 > > >> integers") changed the error handling in AcpiGetSleepTypeData such that > > >> > > >> ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] > > >> (20130517/hwxface-571) > > >> > > >> is displayed on systems not implementing individual ACPI \_Sx sleep > > >> states. > > >> Since these states are optional the loud warning is incorrect. This patch > > >> changes the kernel to the older behaviour of not warning on a not found > > >> \_Sx. > > >> > > >> Before patch: > > >> > > >> [root@dell-pem520-03 ~]# dmesg | grep "While evaluating Sleep State" > > >> ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] > > >> (20130517/hwxface-571) ACPI Exception: AE_NOT_FOUND, While evaluating > > >> Sleep State [\_S2_] (20130517/hwxface-571) ACPI Exception: AE_NOT_FOUND, > > >> While evaluating Sleep State [\_S3_] (20130517/hwxface-571) > > >> [root@dell-pem520-03 ~]# > > >> > > >> After patch: > > >> > > >> [root@dell-pem520-03 ~]# dmesg | grep "While evaluating Sleep State" > > >> [root@dell-pem520-03 ~]# > > >> > > >> v2: Suggested by Robert Moore: Do not warn on AE_NOT_FOUND, otherwise warn > > >> loudly > > >> > > >> Fixes: 48ffb94 ("ACPICA: AcpiGetSleepTypeData: Allow \_Sx to return either > > >> 1 or 2 integers") > > >> Cc: Robert Moore <robert.moore@xxxxxxxxx> > > >> Cc: Lv Zheng <lv.zheng@xxxxxxxxx> > > >> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx> > > >> Cc: Len Brown <lenb@xxxxxxxxxx> > > >> Cc: linux-acpi@xxxxxxxxxxxxxxx > > >> Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> > > >> --- > > >> drivers/acpi/acpica/hwxface.c | 15 ++++++++++----- > > >> 1 file changed, 10 insertions(+), 5 deletions(-) > > >> > > >> diff --git a/drivers/acpi/acpica/hwxface.c b/drivers/acpi/acpica/hwxface.c > > >> index 5f97468..b450133 100644 > > >> --- a/drivers/acpi/acpica/hwxface.c > > >> +++ b/drivers/acpi/acpica/hwxface.c > > >> @@ -507,9 +507,13 @@ acpi_get_sleep_type_data(u8 sleep_state, u8 > > >> *sleep_type_a, u8 *sleep_type_b) > > >> info->relative_pathname = > > >> ACPI_CAST_PTR(char, acpi_gbl_sleep_state_names[sleep_state]); > > >> status = acpi_ns_evaluate(info); > > >> - if (ACPI_FAILURE(status)) { > > >> + if (status == AE_NOT_FOUND) { > > >> + /* \_Sx states are optional */ > > >> goto cleanup; > > >> } > > >> + if (ACPI_FAILURE(status)) { > > >> + goto cleanup1; > > >> + } > > >> > > >> /* Must have a return object */ > > >> > > >> @@ -517,7 +521,7 @@ acpi_get_sleep_type_data(u8 sleep_state, u8 > > >> *sleep_type_a, u8 *sleep_type_b) > > >> ACPI_ERROR((AE_INFO, "No Sleep State object returned from > > >> [%s]", > > >> info->relative_pathname)); > > >> status = AE_AML_NO_RETURN_VALUE; > > >> - goto cleanup; > > >> + goto cleanup1; > > >> } > > >> > > >> /* Return object must be of type Package */ @@ -526,7 +530,7 @@ > > >> acpi_get_sleep_type_data(u8 sleep_state, u8 *sleep_type_a, u8 > > >> *sleep_type_b) > > >> ACPI_ERROR((AE_INFO, > > >> "Sleep State return object is not a Package")); > > >> status = AE_AML_OPERAND_TYPE; > > >> - goto cleanup1; > > >> + goto cleanup2; > > >> } > > >> > > >> /* > > >> @@ -570,16 +574,17 @@ acpi_get_sleep_type_data(u8 sleep_state, u8 > > >> *sleep_type_a, u8 *sleep_type_b) > > >> break; > > >> } > > >> > > >> -cleanup1: > > >> +cleanup2: > > >> acpi_ut_remove_reference(info->return_object); > > >> > > >> -cleanup: > > >> +cleanup1: > > >> if (ACPI_FAILURE(status)) { > > >> ACPI_EXCEPTION((AE_INFO, status, > > >> "While evaluating Sleep State [%s]", > > >> info->relative_pathname)); > > >> } > > >> > > >> +cleanup: > > >> ACPI_FREE(info); > > >> return_ACPI_STATUS(status); > > >> } > > >> -- > > >> 1.7.9.3 > > > > > -- > > 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 > _______________________________________________ > Devel mailing list > Devel@xxxxxxxxxx > https://lists.acpica.org/mailman/listinfo/devel -- 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