device_online() should be called with device_hotplug_lock() held.

Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Rashmica Gupta <[email protected]>
Cc: Balbir Singh <[email protected]>
Cc: Michael Neuling <[email protected]>
Signed-off-by: David Hildenbrand <[email protected]>
---
 arch/powerpc/platforms/powernv/memtrace.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/platforms/powernv/memtrace.c 
b/arch/powerpc/platforms/powernv/memtrace.c
index 8f1cd4f3bfd5..ef7181d4fe68 100644
--- a/arch/powerpc/platforms/powernv/memtrace.c
+++ b/arch/powerpc/platforms/powernv/memtrace.c
@@ -229,9 +229,11 @@ static int memtrace_online(void)
                 * we need to online the memory ourselves.
                 */
                if (!memhp_auto_online) {
+                       lock_device_hotplug();
                        walk_memory_range(PFN_DOWN(ent->start),
                                          PFN_UP(ent->start + ent->size - 1),
                                          NULL, online_mem_block);
+                       unlock_device_hotplug();
                }
 
                /*
-- 
2.17.1

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to