summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/atags_parse.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2017-09-21 12:06:20 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2017-09-29 13:57:21 +0100
commit99cf8f903148347e3d2ac86ffe98bb04bebc6983 (patch)
tree3dd7e30953b8a218c5ac8ec1cca7f3b8fa0724d7 /arch/arm/kernel/atags_parse.c
parent0f7c4c15a30ffc5f5fd563ad1159cb899e121407 (diff)
downloadlinux-99cf8f903148347e3d2ac86ffe98bb04bebc6983.tar.bz2
ARM: better diagnostics with missing/corrupt dtb
With a kernel containing both DT and atag support, the diagnostics output when the dtb is missing or corrupt assume that we're trying to boot using atags and the machine ID, and only print the machine ID. This is not useful for diagnosing a missing or corrupt dtb. Move the message into arch/arm/kernel/setup.c, and print the address of the dtb/atag list, and the first 16 bytes of memory of the dtb or atag list. This allows us to see whether the dtb was corrupted in some way, causing the fallback to the machine ID / atag list. Tested-by: Keerthy <j-keerthy@ti.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/kernel/atags_parse.c')
-rw-r--r--arch/arm/kernel/atags_parse.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/arm/kernel/atags_parse.c b/arch/arm/kernel/atags_parse.c
index 98fbfd235ac8..c10a3e8ee998 100644
--- a/arch/arm/kernel/atags_parse.c
+++ b/arch/arm/kernel/atags_parse.c
@@ -196,11 +196,8 @@ setup_machine_tags(phys_addr_t __atags_pointer, unsigned int machine_nr)
break;
}
- if (!mdesc) {
- early_print("\nError: unrecognized/unsupported machine ID"
- " (r1 = 0x%08x).\n\n", machine_nr);
- dump_machine_table(); /* does not return */
- }
+ if (!mdesc)
+ return NULL;
if (__atags_pointer)
tags = phys_to_virt(__atags_pointer);