]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ACPI: Fix wrong parameter passed to memblock_reserve
authorWang YanQing <udknight@gmail.com>
Mon, 22 Apr 2013 23:19:19 +0000 (01:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 May 2013 03:08:22 +0000 (20:08 -0700)
commit a6432ded299726f123b93d0132fead200551535c upstream.

Commit 53aac44 (ACPI: Store valid ACPI tables passed via early initrd
in reserved memblock areas) introduced acpi_initrd_override() that
passes a wrong value as the second argument to memblock_reserve().

Namely, the second argument of memblock_reserve() is the size of the
region, not the address of the top of it, so make
acpi_initrd_override() pass the size in there as appropriate.

[rjw: Changelog]
Signed-off-by: Wang YanQing <udknight@gmail.com>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/acpi/osl.c

index bd22f8667eed65e3889e61dcc357d85f5f3d1239..299996603160b464b23aab69396f7b10c9713a72 100644 (file)
@@ -642,7 +642,7 @@ void __init acpi_initrd_override(void *data, size_t size)
         * Both memblock_reserve and e820_add_region (via arch_reserve_mem_area)
         * works fine.
         */
-       memblock_reserve(acpi_tables_addr, acpi_tables_addr + all_tables_size);
+       memblock_reserve(acpi_tables_addr, all_tables_size);
        arch_reserve_mem_area(acpi_tables_addr, all_tables_size);
 
        p = early_ioremap(acpi_tables_addr, all_tables_size);