[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:22:23 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 180dfade0052f41ddc0b520daab4aa30365e94e7
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..c633cbf 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