powerpc/pseries: Fix error return value in cmm_mem_going_offline()
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Tue, 8 Mar 2016 21:26:17 +0000 (22:26 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 5 Jul 2016 13:58:52 +0000 (23:58 +1000)
cmm_mem_going_offline() is (only) called from cmm_memory_cb(), which
sends the return value through notifier_from_errno(). The latter
expects 0 or -errno (notifier_to_errno(notifier_from_errno(x)) is 0
for any x >= 0, so passing a positive value cannot make sense). Hence
negate ENOMEM.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/pseries/cmm.c

index fc44ad0475f845e6787e387511b2848698cb333e..66e7227469b8c279c4ff392be4e9a0ec37c66e8c 100644 (file)
@@ -574,7 +574,7 @@ static int cmm_mem_going_offline(void *arg)
                                cmm_dbg("Failed to allocate memory for list "
                                                "management. Memory hotplug "
                                                "failed.\n");
-                               return ENOMEM;
+                               return -ENOMEM;
                        }
                        memcpy(npa, pa_curr, PAGE_SIZE);
                        if (pa_curr == cmm_page_list)