|
@@ -922,8 +922,16 @@ void __init unflatten_device_tree(void)
|
|
|
*/
|
|
|
void __init unflatten_and_copy_device_tree(void)
|
|
|
{
|
|
|
- int size = __be32_to_cpu(initial_boot_params->totalsize);
|
|
|
- void *dt = early_init_dt_alloc_memory_arch(size,
|
|
|
+ int size;
|
|
|
+ void *dt;
|
|
|
+
|
|
|
+ if (!initial_boot_params) {
|
|
|
+ pr_warn("No valid device tree found, continuing without\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ size = __be32_to_cpu(initial_boot_params->totalsize);
|
|
|
+ dt = early_init_dt_alloc_memory_arch(size,
|
|
|
__alignof__(struct boot_param_header));
|
|
|
|
|
|
if (dt) {
|