pseries: Fix 64 bit logical memory block panic
authorAnton Blanchard <anton@ozlabs.org>
Wed, 15 Jul 2020 00:08:20 +0000 (10:08 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Aug 2020 07:48:20 +0000 (09:48 +0200)
commit 89c140bbaeee7a55ed0360a88f294ead2b95201b upstream.

Booting with a 4GB LMB size causes us to panic:

  qemu-system-ppc64: OS terminated: OS panic:
      Memory block size not suitable: 0x0

Fix pseries_memory_block_size() to handle 64 bit LMBs.

Cc: stable@vger.kernel.org
Signed-off-by: Anton Blanchard <anton@ozlabs.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200715000820.1255764-1-anton@ozlabs.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/platforms/pseries/hotplug-memory.c

index a0847be0b0358893174bc958eb9878ed8553f7b9..1a3cffdaa1e8a60282eb09d5b4891b0af0614729 100644 (file)
@@ -30,7 +30,7 @@ static bool rtas_hp_event;
 unsigned long pseries_memory_block_size(void)
 {
        struct device_node *np;
-       unsigned int memblock_size = MIN_MEMORY_BLOCK_SIZE;
+       u64 memblock_size = MIN_MEMORY_BLOCK_SIZE;
        struct resource r;
 
        np = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory");