Subject: Re: [PATCH] powerpc/pseries failed reconfig notifier chain call cleanup

From: Benjamin Herrenschmidt <[email-masked]>
Date: Wed, 11 Mar 2009 16:47:47 +1100

On Thu, 2009-03-05 at 13:53 -0600, Nathan Fontenot wrote:
> The return code from invoking the notifier chain when updating the
> ibm,dynamic-memory property is not handled properly. In failure
> cases (rc == NOTIFY_BAD) we should be restoring the original value
> of the property.  In success (rc == NOTIFY_OK) we should be returning
> zero from the calling routine.

This is actually not clear to me ... if the memory has been added or
removed, we must make sure the device-tree is up to date... ie, we can't
tell the firmware that we failed can we ?

Ben.

> Signed-off-by: Nathan Fontenot <[email-masked]>
> ---
>  arch/powerpc/platforms/pseries/reconfig.c |    6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> Index: linux-2.6/arch/powerpc/platforms/pseries/reconfig.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/platforms/pseries/reconfig.c	2008-10-23 22:29:24.000000000 -0500
> +++ linux-2.6/arch/powerpc/platforms/pseries/reconfig.c	2009-03-05 13:20:00.000000000 -0600
> @@ -468,9 +468,13 @@
>  
>  		rc = blocking_notifier_call_chain(&pSeries_reconfig_chain,
>  						  action, value);
> +		if (rc == NOTIFY_BAD) {
> +			rc = prom_update_property(np, oldprop, newprop);
> +			return -ENOMEM;
> +		}
>  	}
>  
> -	return rc;
> +	return 0;
>  }
>  
>  /**
> _______________________________________________
> Linuxppc-dev mailing list
> [email-masked]
> https://ozlabs.org/mailman/listinfo/linuxppc-dev