[coreboot-gerrit] Patch set updated for coreboot: x86/acpi_device: Fix writing of array property

Furquan Shaikh (furquan@google.com) gerrit at coreboot.org
Tue Oct 4 17:27:06 CEST 2016


Furquan Shaikh (furquan at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16871

-gerrit

commit b251fccaff14d607939e107f11ef732999fe3f5b
Author: Furquan Shaikh <furquan at chromium.org>
Date:   Mon Oct 3 23:30:14 2016 -0700

    x86/acpi_device: Fix writing of array property
    
    Only acpi_dp of type DP_TYPE_TABLE is allowed to be an array. This
    DP_TYPE_TABLE does not have a value which is written. Thus,
    acpi_dp_write_array needs to start counting from the next element type
    in the array. Fix this by updating the initialization in for loop for
    writing array elements.
    
    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 at chromium.org>
---
 src/arch/x86/acpi_device.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/arch/x86/acpi_device.c b/src/arch/x86/acpi_device.c
index 2982999..7cf292f 100644
--- a/src/arch/x86/acpi_device.c
+++ b/src/arch/x86/acpi_device.c
@@ -530,7 +530,12 @@ static void acpi_dp_write_array(const struct acpi_dp *array)
 	/* Package element count determined as it is populated */
 	pkg_count = acpigen_write_package(0);
 
-	for (dp = array; dp; dp = dp->next) {
+	/*
+	 * Only acpi_dp of type DP_TYPE_TABLE is allowed to be an array.
+	 * DP_TYPE_TABLE does not have a value to be written. Thus, start
+	 * the loop from next type in the array.
+	 */
+	for (dp = array->next; dp; dp = dp->next) {
 		acpi_dp_write_value(dp);
 		(*pkg_count)++;
 	}



More information about the coreboot-gerrit mailing list