Furquan Shaikh (furquan@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16871
-gerrit
commit 032ae7efc8944ec28048c62fec36f80b717b158f Author: Furquan Shaikh furquan@chromium.org Date: Mon Oct 3 23:30:14 2016 -0700
x86/acpi_device: Fix writing of array property
Array property contains a table type at the start of the list. This table type is ignored in acpi_dp_write_value however it is counted as an element in acpi_dp_write_array. This results in wrong number of elements being passed in Package(xx). In order to fix this, call acpi_dp_write_array with prop->array->next thus pointing to the first element whose value is actually written.
BUG=chrome-os-partner:55988 BRANCH=None TEST=Verified that the correct number of elements are passed for add_gpio in maxim sdmode-gpio.
Change-Id: I8e1e540d66086971de2edf0bb83494d3b1dbd176 Signed-off-by: Furquan Shaikh furquan@chromium.org --- src/arch/x86/acpi_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arch/x86/acpi_device.c b/src/arch/x86/acpi_device.c index 2982999..a1b3753 100644 --- a/src/arch/x86/acpi_device.c +++ b/src/arch/x86/acpi_device.c @@ -505,7 +505,7 @@ static void acpi_dp_write_value(const struct acpi_dp *prop) acpigen_emit_namestring(prop->string); break; case ACPI_DP_TYPE_ARRAY: - acpi_dp_write_array(prop->array); + acpi_dp_write_array(prop->array->next); break; default: break;