summaryrefslogtreecommitdiffstats
path: root/drivers/of/fdt.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2014-10-29 19:15:00 +0100
committerGrant Likely <grant.likely@linaro.org>2014-11-04 17:43:09 +0100
commit50ba08f301a1b0310775deeed00c9b24ba75fe8a (patch)
treec1bae1ae585a16bde52d2901f952507fe452cee3 /drivers/of/fdt.c
parentof: Request and map make argument name constant (diff)
downloadlinux-50ba08f301a1b0310775deeed00c9b24ba75fe8a.tar.xz
linux-50ba08f301a1b0310775deeed00c9b24ba75fe8a.zip
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 <bhelgaas@google.com> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> Signed-off-by: Grant Likely <grant.likely@linaro.org>
Diffstat (limited to 'drivers/of/fdt.c')
-rw-r--r--drivers/of/fdt.c9
1 files changed, 3 insertions, 6 deletions
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;
}