libfdt: Fix the Python pack() function
This currently fails to reduce the device-tree bytearray size. Fix this.
This stands in for a pending upstream change.
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
index 6774b93..5b38e63 100644
--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
@@ -442,7 +442,11 @@
Raises:
FdtException if any error occurs
"""
- return check_err(fdt_pack(self._fdt), quiet)
+ err = check_err(fdt_pack(self._fdt), quiet)
+ if err:
+ return err
+ del self._fdt[self.totalsize():]
+ return err
def getprop(self, nodeoffset, prop_name, quiet=()):
"""Get a property from a node