Ver código fonte

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>
Bjorn Helgaas 10 anos atrás
pai
commit
50ba08f301
1 arquivos alterados com 3 adições e 6 exclusões
  1. 3 6
      drivers/of/fdt.c

+ 3 - 6
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;
 }