From: Bob Moore Date: Fri, 8 Mar 2013 09:23:51 +0000 (+0000) Subject: ACPICA: Object repair: Allow 0-length packages for variable-length packages X-Git-Tag: upstream/snapshot3+hdmi~5120^2~11^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02d4fb36867c33f7e0cec8d6e6dad47ad712a497;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git ACPICA: Object repair: Allow 0-length packages for variable-length packages For the predefined names that return fully variable-length packages, allow a zero-length package with no warning, since it is technically a legal construct (and BIOS writers use it.) Signed-off-by: Bob Moore Signed-off-by: Lv Zheng Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/acpi/acpica/nsprepkg.c b/drivers/acpi/acpica/nsprepkg.c index a401554..77cdd53 100644 --- a/drivers/acpi/acpica/nsprepkg.c +++ b/drivers/acpi/acpica/nsprepkg.c @@ -112,9 +112,15 @@ acpi_ns_check_package(struct acpi_predefined_data *data, elements = return_object->package.elements; count = return_object->package.count; - /* The package must have at least one element, else invalid */ - + /* + * Most packages must have at least one element. The only exception + * is the variable-length package (ACPI_PTYPE1_VAR). + */ if (!count) { + if (package->ret_info.type == ACPI_PTYPE1_VAR) { + return (AE_OK); + } + ACPI_WARN_PREDEFINED((AE_INFO, data->pathname, data->node_flags, "Return Package has no elements (empty)"));