Subject: Re: [PATCH] powerpc: fix skipping call to early_init_fdt_scan_reserved_mem

From: Benjamin Herrenschmidt <[email-masked]>
Date: Mon, 12 May 2014 10:42:04 +1000

On Wed, 2014-04-30 at 01:03 -0500, Rob Herring wrote:
> From: Rob Herring <[email-masked]>
> 
> The call to early_init_fdt_scan_reserved_mem will be skipped if
> reserved-ranges is not found. Move the call earlier so that it is called
> unconditionally.
> 
> Signed-off-by: Rob Herring <[email-masked]>
> Cc: Marek Szyprowski <[email-masked]>

Acked-by: Benjamin Herrenschmidt <[email-masked]>

> Cc: Paul Mackerras <[email-masked]>
> Cc: [email-masked]
> Tested-by: Stephen Chivers <[email-masked]>
> ---
> I found this issue in testing of my fdt clean-up series (thanks to 
> Stephen). Since the reserved memory support is new, I don't think it is 
> critical to fix this for 3.15. I plan to include this with my fdt series 
> for 3.16 unless I hear otherwise.

Sure, go for it.

Cheers,
Ben.

> Rob
> 
>  arch/powerpc/kernel/prom.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
> index 668aa47..d657549 100644
> --- a/arch/powerpc/kernel/prom.c
> +++ b/arch/powerpc/kernel/prom.c
> @@ -567,6 +567,8 @@ static void __init early_reserve_mem_dt(void)
>  	unsigned long i, len, dt_root;
>  	const __be32 *prop;
>  
> +	early_init_fdt_scan_reserved_mem();
> +
>  	dt_root = of_get_flat_dt_root();
>  
>  	prop = of_get_flat_dt_prop(dt_root, "reserved-ranges", &len);
> @@ -589,8 +591,6 @@ static void __init early_reserve_mem_dt(void)
>  			memblock_reserve(base, size);
>  		}
>  	}
> -
> -	early_init_fdt_scan_reserved_mem();
>  }
>  
>  static void __init early_reserve_mem(void)