diff options
author | Steve Rae <srae@broadcom.com> | 2014-05-26 18:52:22 (GMT) |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-06-05 18:44:56 (GMT) |
commit | dedf37bb61b2a4893f51f7aea2f37fe70d77ab0c (patch) | |
tree | 928b8f1c5d4fd2278a381acfcd5677e271745ba2 | |
parent | ed6a5d4f880ac248530dbf64683b2257dbe54b64 (diff) | |
download | u-boot-fsl-qoriq-dedf37bb61b2a4893f51f7aea2f37fe70d77ab0c.tar.xz |
disk: part_efi: resolve endianness issues
Tested on little endian ARMv7 and ARMv8 configurations
Signed-off-by: Steve Rae <srae@broadcom.com>
-rw-r--r-- | disk/part_efi.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/disk/part_efi.c b/disk/part_efi.c index c74b7b9..8c89740 100644 --- a/disk/part_efi.c +++ b/disk/part_efi.c @@ -279,7 +279,7 @@ int write_gpt_table(block_dev_desc_t *dev_desc, gpt_h->header_crc32 = cpu_to_le32(calc_crc32); if (dev_desc->block_write(dev_desc->dev, - le32_to_cpu(gpt_h->last_usable_lba + 1), + le32_to_cpu(gpt_h->last_usable_lba) + 1, pte_blk_cnt, gpt_e) != pte_blk_cnt) goto err; @@ -300,6 +300,7 @@ int gpt_fill_pte(gpt_header *gpt_h, gpt_entry *gpt_e, { u32 offset = (u32)le32_to_cpu(gpt_h->first_usable_lba); ulong start; + u32 last_usable_lba = (u32)le32_to_cpu(gpt_h->last_usable_lba); int i, k; size_t efiname_len, dosname_len; #ifdef CONFIG_PARTITION_UUIDS @@ -321,7 +322,7 @@ int gpt_fill_pte(gpt_header *gpt_h, gpt_entry *gpt_e, gpt_e[i].starting_lba = cpu_to_le64(offset); offset += partitions[i].size; } - if (offset >= gpt_h->last_usable_lba) { + if (offset >= last_usable_lba) { printf("Partitions layout exceds disk size\n"); return -1; } |