The returned size is still used by the drivers.

Reported-by: Dan Williams <[email protected]>
Cc: Dan Williams <[email protected]>
Signed-off-by: Lv Zheng <[email protected]>
---
 drivers/acpi/osl.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 5bef0f65..adf1ec4 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -445,8 +445,12 @@ void __ref acpi_os_unmap_memory(void *virt, acpi_size size)
 
        status = acpi_get_table(signature, instance, out_table);
        if (ACPI_SUCCESS(status)) {
-               /* No longer used by early_acpi_os_unmap_memory() */
-               *tbl_size = 0;
+               /*
+                * No longer used by early_acpi_os_unmap_memory(), but still
+                * used by the ACPI table drivers.
+                */
+               if (*out_table)
+                       *tbl_size = (*out_table)->length;
        }
 
        return (status);
-- 
1.7.10

Reply via email to