diff mbox

arm: Fix conversion to early_init_dt_scan() for non-DT platforms

Message ID 1380804633-14130-1-git-send-email-broonie@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Mark Brown Oct. 3, 2013, 12:50 p.m. UTC
From: Mark Brown <broonie@linaro.org>

Commit 67a964490bfd14 (arm: use early_init_dt_scan) in the OF tree in
-next converts ARM to use early_init_dt_scan(), factoring out some common
code. However it ignores the return value of the function meaning that on
non-DT platforms the kernel fails to boot as it attempts to configure
itself using DT.

Fix this by adding the appropriate return value check.

Signed-off-by: Mark Brown <broonie@linaro.org>
---
 arch/arm/kernel/devtree.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Rob Herring Oct. 3, 2013, 4:37 p.m. UTC | #1
On 10/03/2013 07:50 AM, Mark Brown wrote:
> From: Mark Brown <broonie@linaro.org>
> 
> Commit 67a964490bfd14 (arm: use early_init_dt_scan) in the OF tree in
> -next converts ARM to use early_init_dt_scan(), factoring out some common
> code. However it ignores the return value of the function meaning that on
> non-DT platforms the kernel fails to boot as it attempts to configure
> itself using DT.
> 
> Fix this by adding the appropriate return value check.

I have this fixed already in my tree. I had not pushed out my -next
branch with the fix, but have done so now.

Rob

> 
> Signed-off-by: Mark Brown <broonie@linaro.org>
> ---
>  arch/arm/kernel/devtree.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c
> index 04050f7..67f4ebe 100644
> --- a/arch/arm/kernel/devtree.c
> +++ b/arch/arm/kernel/devtree.c
> @@ -198,7 +198,8 @@ const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
>  	if (!dt_phys)
>  		return NULL;
>  
> -	early_init_dt_scan(phys_to_virt(dt_phys));
> +	if (!early_init_dt_scan(phys_to_virt(dt_phys)))
> +		return NULL;
>  
>  	/* Search the mdescs for the 'best' compatible value match */
>  	dt_root = of_get_flat_dt_root();
>
Olof Johansson Oct. 3, 2013, 4:39 p.m. UTC | #2
On Thu, Oct 3, 2013 at 5:50 AM, Mark Brown <broonie@kernel.org> wrote:
> From: Mark Brown <broonie@linaro.org>
>
> Commit 67a964490bfd14 (arm: use early_init_dt_scan) in the OF tree in
> -next converts ARM to use early_init_dt_scan(), factoring out some common
> code. However it ignores the return value of the function meaning that on
> non-DT platforms the kernel fails to boot as it attempts to configure
> itself using DT.
>
> Fix this by adding the appropriate return value check.
>
> Signed-off-by: Mark Brown <broonie@linaro.org>

Hm, I thought I had reported this to Rob and he had fixed it already.
Is a stale version of the patches in the DT tree?


-Olof
Mark Brown Oct. 3, 2013, 6:20 p.m. UTC | #3
On Thu, Oct 03, 2013 at 11:37:52AM -0500, Rob Herring wrote:

> I have this fixed already in my tree. I had not pushed out my -next
> branch with the fix, but have done so now.

OK, thanks - so long as it gets fixed that's the important thing.
diff mbox

Patch

diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c
index 04050f7..67f4ebe 100644
--- a/arch/arm/kernel/devtree.c
+++ b/arch/arm/kernel/devtree.c
@@ -198,7 +198,8 @@  const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
 	if (!dt_phys)
 		return NULL;
 
-	early_init_dt_scan(phys_to_virt(dt_phys));
+	if (!early_init_dt_scan(phys_to_virt(dt_phys)))
+		return NULL;
 
 	/* Search the mdescs for the 'best' compatible value match */
 	dt_root = of_get_flat_dt_root();