From cbe3457dd82759f2c8ed02b34ba742a79353857d Mon Sep 17 00:00:00 2001 From: Franck Jullien Date: Thu, 11 Oct 2012 22:28:10 +0200 Subject: common/paritions.c: force little endian reads When reading values from a DOS disk, we need to force a little endian reading. Signed-off-by: Franck Jullien Signed-off-by: Sascha Hauer --- common/partitions.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'common/partitions.c') diff --git a/common/partitions.c b/common/partitions.c index cee0a6505d..0e42937e4c 100644 --- a/common/partitions.c +++ b/common/partitions.c @@ -52,8 +52,8 @@ static int disk_guess_size(struct device_d *dev, struct partition_entry *table) for (i = 0; i < 4; i++) { if (table[i].partition_start != 0) { - size += get_unaligned(&table[i].partition_start) - size; - size += get_unaligned(&table[i].partition_size); + size += get_unaligned_le32(&table[i].partition_start) - size; + size += get_unaligned_le32(&table[i].partition_size); } } @@ -97,8 +97,8 @@ static void __maybe_unused try_dos_partition(struct block_device *blk, blk->num_blocks = disk_guess_size(blk->dev, table); for (i = 0; i < 4; i++) { - pentry.first_sec = get_unaligned(&table[i].partition_start); - pentry.size = get_unaligned(&table[i].partition_size); + pentry.first_sec = get_unaligned_le32(&table[i].partition_start); + pentry.size = get_unaligned_le32(&table[i].partition_size); if (pentry.first_sec != 0) { pd->parts[pd->used_entries].first_sec = pentry.first_sec; -- cgit v1.2.3