Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a59b679a authored by Prarit Bhargava's avatar Prarit Bhargava Committed by Rafael J. Wysocki
Browse files

ACPICA: acpi_get_sleep_type_data: Reduce warnings

ACPICA commit 7bb77313091e52a846df4c9c2bea90be31bfb9d8

Eliminate warnings for "not found" _Sx errors, since these
are optional. Original NOT_FOUND status is still returned.

Original changes by Prarit Bhargava.
ACPICA BZ 1208.

Link: https://github.com/acpica/acpica/commit/7bb77313
Link: https://bugs.acpica.org/show_bug.cgi?id=1208


Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 5431b654
Loading
Loading
Loading
Loading
+17 −7
Original line number Original line Diff line number Diff line
@@ -504,11 +504,20 @@ acpi_get_sleep_type_data(u8 sleep_state, u8 *sleep_type_a, u8 *sleep_type_b)
	 * Evaluate the \_Sx namespace object containing the register values
	 * Evaluate the \_Sx namespace object containing the register values
	 * for this state
	 * for this state
	 */
	 */
	info->relative_pathname =
	info->relative_pathname = ACPI_CAST_PTR(char,
	    ACPI_CAST_PTR(char, acpi_gbl_sleep_state_names[sleep_state]);
						acpi_gbl_sleep_state_names
						[sleep_state]);

	status = acpi_ns_evaluate(info);
	status = acpi_ns_evaluate(info);
	if (ACPI_FAILURE(status)) {
	if (ACPI_FAILURE(status)) {
		goto cleanup;
		if (status == AE_NOT_FOUND) {

			/* The _Sx states are optional, ignore NOT_FOUND */

			goto final_cleanup;
		}

		goto warning_cleanup;
	}
	}


	/* Must have a return object */
	/* Must have a return object */
@@ -517,7 +526,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]",
		ACPI_ERROR((AE_INFO, "No Sleep State object returned from [%s]",
			    info->relative_pathname));
			    info->relative_pathname));
		status = AE_AML_NO_RETURN_VALUE;
		status = AE_AML_NO_RETURN_VALUE;
		goto cleanup;
		goto warning_cleanup;
	}
	}


	/* Return object must be of type Package */
	/* Return object must be of type Package */
@@ -526,7 +535,7 @@ acpi_get_sleep_type_data(u8 sleep_state, u8 *sleep_type_a, u8 *sleep_type_b)
		ACPI_ERROR((AE_INFO,
		ACPI_ERROR((AE_INFO,
			    "Sleep State return object is not a Package"));
			    "Sleep State return object is not a Package"));
		status = AE_AML_OPERAND_TYPE;
		status = AE_AML_OPERAND_TYPE;
		goto cleanup1;
		goto return_value_cleanup;
	}
	}


	/*
	/*
@@ -570,16 +579,17 @@ acpi_get_sleep_type_data(u8 sleep_state, u8 *sleep_type_a, u8 *sleep_type_b)
		break;
		break;
	}
	}


cleanup1:
return_value_cleanup:
	acpi_ut_remove_reference(info->return_object);
	acpi_ut_remove_reference(info->return_object);


cleanup:
warning_cleanup:
	if (ACPI_FAILURE(status)) {
	if (ACPI_FAILURE(status)) {
		ACPI_EXCEPTION((AE_INFO, status,
		ACPI_EXCEPTION((AE_INFO, status,
				"While evaluating Sleep State [%s]",
				"While evaluating Sleep State [%s]",
				info->relative_pathname));
				info->relative_pathname));
	}
	}


final_cleanup:
	ACPI_FREE(info);
	ACPI_FREE(info);
	return_ACPI_STATUS(status);
	return_ACPI_STATUS(status);
}
}