The _UID object is optional, but is required when the device has no other way to report a persistent unique device ID. This patch is required for ACPI 5.0 ACPI enumerated IP cores. Signed-off-by: Rui Zhang <rui.zhang@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> --- drivers/acpi/scan.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index d730a93..bb7fe47 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -327,6 +327,8 @@ static void acpi_device_release(struct device *dev) struct acpi_device *acpi_dev = to_acpi_device(dev); acpi_free_ids(acpi_dev); + if (acpi_dev->pnp.unique_id) + kfree(acpi_dev->pnp.unique_id); kfree(acpi_dev); } @@ -1162,6 +1164,9 @@ static void acpi_device_set_id(struct acpi_device *device) device->pnp.bus_address = info->address; device->flags.bus_address = 1; } + if (info->valid & ACPI_VALID_UID) { + device->pnp.unique_id = kstrdup(info->unique_id.string, GFP_KERNEL); + } kfree(info); -- 1.7.10 -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html