From: Stephen Warren Date: Thu, 23 May 2013 10:22:10 +0000 (+0000) Subject: ext4: assign get_fs()->dev_desc before using it X-Git-Tag: v2013.07-rc1~54^2~29 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c28cbfa1a89cae2c0cb13144c8123345d61fdc87;p=oweals%2Fu-boot.git ext4: assign get_fs()->dev_desc before using it Commit 50ce4c0 "fs/ext4: Support device block sizes != 512 bytes" modified ext4fs_set_blk_dev() to calculate total_sect based on get_fs()->dev_desc->log2blksz rather than SECTOR_SIZE. However, this value wasn't yet assigned. Move the assignment earlier so the code doesn't crash or hang. Cc: Egbert Eich Tested-by: Tom Rini Signed-off-by: Stephen Warren --- diff --git a/fs/ext4/dev.c b/fs/ext4/dev.c index 3e993cc220..81b7633b59 100644 --- a/fs/ext4/dev.c +++ b/fs/ext4/dev.c @@ -51,11 +51,11 @@ void ext4fs_set_blk_dev(block_dev_desc_t *rbdd, disk_partition_t *info) { assert(rbdd->blksz == (1 << rbdd->log2blksz)); ext4fs_block_dev_desc = rbdd; + get_fs()->dev_desc = rbdd; part_info = info; part_offset = info->start; get_fs()->total_sect = (info->size * info->blksz) >> get_fs()->dev_desc->log2blksz; - get_fs()->dev_desc = rbdd; } int ext4fs_devread(int sector, int byte_offset, int byte_len, char *buf)