summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBaruch Siach <baruch@tkos.co.il>2015-07-09 18:19:11 +0300
committerStefano Babic <sbabic@denx.de>2015-09-02 15:25:27 +0200
commitb893c9898c4126c7b09a5aa124c6bedf33fa305c (patch)
tree7583c7bee64c16ccf1674037bfe62fbcd07f06fb
parentb7e84c93c450480ca4ff51ad2eb56bd83c1dc368 (diff)
downloadblackbird-obmc-uboot-b893c9898c4126c7b09a5aa124c6bedf33fa305c.tar.gz
blackbird-obmc-uboot-b893c9898c4126c7b09a5aa124c6bedf33fa305c.zip
tools/imximage: set DCD pointer to NULL when its length is 0
When dcd_len is 0 the Write Data command that the set_dcd_rst_v2() routine generates is empty. This causes HAB to complain that the command is invalid. --------- HAB Event 1 ----------------- event data: 0xdb 0x00 0x0c 0x41 0x33 0x06 0xc0 0x00 0xcc 0x00 0x04 0x04 To fix this set the DCD pointer in the IVT to NULL in this case. The DCD header itself is still needed for detect_imximage_version() to determine the image version. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Acked-by: Stefano Babic <sbabic@denx.de>
-rw-r--r--tools/imximage.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/imximage.c b/tools/imximage.c
index 909efaba2d..0da48a733d 100644
--- a/tools/imximage.c
+++ b/tools/imximage.c
@@ -288,7 +288,11 @@ static void set_imx_hdr_v2(struct imx_header *imxhdr, uint32_t dcd_len,
hdr_base = entry_point - imximage_init_loadsize +
flash_offset;
fhdr_v2->self = hdr_base;
- fhdr_v2->dcd_ptr = hdr_base + offsetof(imx_header_v2_t, dcd_table);
+ if (dcd_len > 0)
+ fhdr_v2->dcd_ptr = hdr_base
+ + offsetof(imx_header_v2_t, dcd_table);
+ else
+ fhdr_v2->dcd_ptr = 0;
fhdr_v2->boot_data_ptr = hdr_base
+ offsetof(imx_header_v2_t, boot_data);
hdr_v2->boot_data.start = entry_point - imximage_init_loadsize;
OpenPOWER on IntegriCloud