The return code from invocation of the notifier for
pSeries_reconfig_chain during update of the device tree is not checked. This causes writes to /proc/ppc64/ofdt to update memory properties (i.e. ibm,dyamic-reconfiguration-memory) to always return success, instead of the result of the notifier chain.

This happens specifically when we remove/add memory from the
device tree on machines using memory specified in the
ibm,dynamic-reconfiguration-memory property of the device tree.

Signed-off-by: Nathan Fontenot <[EMAIL PROTECTED]>
---

Index: linux-2.6-paulus/arch/powerpc/platforms/pseries/reconfig.c
===================================================================
--- linux-2.6-paulus.orig/arch/powerpc/platforms/pseries/reconfig.c     
2008-08-25 13:08:27.000000000 -0500
+++ linux-2.6-paulus/arch/powerpc/platforms/pseries/reconfig.c  2008-08-25 
13:45:12.000000000 -0500
@@ -466,11 +466,11 @@
                else
                        action = PSERIES_DRCONF_MEM_REMOVE;

-               blocking_notifier_call_chain(&pSeries_reconfig_chain,
-                                            action, value);
+               rc = blocking_notifier_call_chain(&pSeries_reconfig_chain,
+                                                 action, value);
        }

-       return 0;
+       return rc;
}

/**
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to