[U-Boot] [PATCH] ext4: assign get_fs()->dev_desc before using it

From: Stephen Warren swarren@nvidia.com
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 eich@suse.com Signed-off-by: Stephen Warren swarren@nvidia.com --- fs/ext4/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ext4/dev.c b/fs/ext4/dev.c index 3e993cc..81b7633 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)

On Thu, May 23, 2013 at 02:22:10PM -0600, Stephen Warren wrote:
From: Stephen Warren swarren@nvidia.com
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 eich@suse.com Signed-off-by: Stephen Warren swarren@nvidia.com
Good catch!
Tested-by: Tom Rini trini@ti.com
And, applied to u-boot/master, thanks!
participants (2)
-
Stephen Warren
-
Tom Rini