From 741c23e45daa6a31dace603412d80f5d58641cc8 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Thu, 30 Jun 2016 14:37:37 -0700 Subject: [PATCH] UPSTREAM: acpi_device: Have acpi_device_scope() use a separate buffer Have the different acpi_device_ path functions use a different static buffer so they can be called interchangeably. BUG=None BRANCH=None TEST=None Change-Id: I270a80f66880861d5847bd586a16a73f8f1e2511 Original-Signed-off-by: Duncan Laurie Original-Reviewed-on: https://review.coreboot.org/15521 Original-Tested-by: build bot (Jenkins) Original-Reviewed-by: Aaron Durbin Original-Reviewed-by: Paul Menzel Signed-off-by: Aaron Durbin Reviewed-on: https://chromium-review.googlesource.com/358588 Reviewed-by: Martin Roth --- 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 940d87156d..f8f6a6dbe9 100644 --- a/src/arch/x86/acpi_device.c +++ b/src/arch/x86/acpi_device.c @@ -121,10 +121,15 @@ const char *acpi_device_path(struct device *dev) /* Return the path of the parent device as the ACPI Scope for this device */ const char *acpi_device_scope(struct device *dev) { + static char buf[DEVICE_PATH_MAX] = {}; + if (!dev || !dev->bus || !dev->bus->dev) return NULL; - return acpi_device_path(dev->bus->dev); + if (acpi_device_path_fill(dev->bus->dev, buf, sizeof(buf), 0) <= 0) + return NULL; + + return buf; } /* Concatentate the device path and provided name suffix */