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 <bhelg...@google.com>
---
 drivers/of/fdt.c |    9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index d1ffca8b34ea..55a566a53f36 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -994,15 +994,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;
 }
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to