Let's always try to online the re-added memory blocks. In case add_memory()
already onlined the added memory blocks, the first device_online() call
will fail and stop processing the remaining memory blocks.

This avoids manually having to check memhp_auto_online.

Note: PPC always onlines all hotplugged memory directly from the kernel
as well - something that is handled by user space on other
architectures.

Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Oscar Salvador <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
Cc: Baoquan He <[email protected]>
Cc: Wei Yang <[email protected]>
Cc: [email protected]
Signed-off-by: David Hildenbrand <[email protected]>
---
 arch/powerpc/platforms/powernv/memtrace.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/memtrace.c 
b/arch/powerpc/platforms/powernv/memtrace.c
index d6d64f8718e6..13b369d2cc45 100644
--- a/arch/powerpc/platforms/powernv/memtrace.c
+++ b/arch/powerpc/platforms/powernv/memtrace.c
@@ -231,16 +231,10 @@ static int memtrace_online(void)
                        continue;
                }
 
-               /*
-                * If kernel isn't compiled with the auto online option
-                * we need to online the memory ourselves.
-                */
-               if (!memhp_auto_online) {
-                       lock_device_hotplug();
-                       walk_memory_blocks(ent->start, ent->size, NULL,
-                                          online_mem_block);
-                       unlock_device_hotplug();
-               }
+               lock_device_hotplug();
+               walk_memory_blocks(ent->start, ent->size, NULL,
+                                  online_mem_block);
+               unlock_device_hotplug();
 
                /*
                 * Memory was added successfully so clean up references to it
-- 
2.24.1

Reply via email to