From: Bjorn Helgaas Date: Wed, 29 Oct 2014 18:15:00 +0000 (-0600) Subject: of/fdt: Don't clear initial_boot_params if fdt_check_header() fails X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=50ba08f3;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git of/fdt: Don't clear initial_boot_params if fdt_check_header() fails If the device tree pointer is NULL, early_init_dt_verify() fails, leaving initial_boot_params unchanged. If the device tree pointer is non-NULL but invalid, early_init_dt_verify() again fails but this time it also clears initial_boot_params. Leave initial_boot_params unchanged if the device tree pointer is invalid. This doesn't fix a bug, but it makes the behavior more consistent and easier to analyze. Signed-off-by: Bjorn Helgaas Signed-off-by: Zhen Lei Signed-off-by: Grant Likely --- diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 1d30b9f96466..535124670257 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -992,15 +992,12 @@ bool __init early_init_dt_verify(void *params) if (!params) return false; - /* Setup flat device-tree pointer */ - initial_boot_params = params; - /* check device tree validity */ - if (fdt_check_header(params)) { - initial_boot_params = NULL; + if (fdt_check_header(params)) return false; - } + /* Setup flat device-tree pointer */ + initial_boot_params = params; return true; }