Hi,

in socppc's fdt init code there's a path that is always run but never
produces anything valid, as it's overridden directly after.

tree.strings_size is always set to fh_strings_size at the end. So in
reality that whole version block might run, but in the end is completely
useless.  As no one has found that yet, I think it's safe to just get rid
of that whole block.  I'd also be fine with keeping the block and just
removing that assignment at the end.

I have no hardware to verify it.

Patrick

diff --git sys/arch/socppc/socppc/fdt.c sys/arch/socppc/socppc/fdt.c
index 7423988..6f30a85 100644
--- sys/arch/socppc/socppc/fdt.c
+++ sys/arch/socppc/socppc/fdt.c
@@ -87,25 +87,6 @@ fdt_init(void *fdt)
        tree.strings = (char *)fdt + tree.header->fh_strings_off;
        tree.memory = (char *)fdt + tree.header->fh_reserve_off;
        tree.version = version;
-
-       if (version < 3) {
-               if ((tree.strings < tree.tree) && (tree.tree < tree.memory))
-                       tree.strings_size = tree.tree - tree.strings;
-               else if ((tree.strings < tree.memory) && (tree.memory <
-                   tree.tree))
-                       tree.strings_size = tree.memory - tree.strings;
-               else if ((tree.strings < tree.tree) && (tree.memory <
-                   tree.strings))
-                       tree.strings_size = tree.tree - tree.strings;
-               else if ((tree.strings < tree.memory) && (tree.tree <
-                   tree.strings))
-                       tree.strings_size = tree.memory - tree.strings;
-               else
-                       tree.strings_size = tree.header->fh_size -
-                           (int)tree.strings;
-       } else
-               tree.strings_size = tree.header->fh_strings_size;
-
        tree.strings_size = tree.header->fh_strings_size;
        tree_inited = 1;
 

Reply via email to