summaryrefslogtreecommitdiff
path: root/disk/part.c
diff options
context:
space:
mode:
authorLan Yixun (dlan) <dennis.yxun@gmail.com>2013-07-20 08:17:59 +0800
committerTom Rini <trini@ti.com>2013-07-22 10:09:56 -0400
commit50ffc3b64aa3c8113f0a9fc31ea96e596d60054a (patch)
tree85dd55eb8f111aa4819f7171e52333df28a35607 /disk/part.c
parent8b415f703f88d1d3b0466830047affbbf7f24913 (diff)
downloadu-boot-imx-50ffc3b64aa3c8113f0a9fc31ea96e596d60054a.zip
u-boot-imx-50ffc3b64aa3c8113f0a9fc31ea96e596d60054a.tar.gz
u-boot-imx-50ffc3b64aa3c8113f0a9fc31ea96e596d60054a.tar.bz2
fs/ext4: fix log2blksz un-initialized error, by cacaulating its value from blksz
The problem here is that uboot can't mount ext4 filesystem with commit "50ce4c07df1" applied. We use hard-coded "SECTOR_SIZE"(512) before this commit, now we introduce (block_dev_desc_t *)->log2blksz to replace this macro. And after we calling do_ls()->fs_set_blk_dev(), the variable log2blksz is not initialized, which it's not correct. And this patch try to solve the problem by caculating the value of log2blksz from variable blksz.
Diffstat (limited to 'disk/part.c')
-rw-r--r--disk/part.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/disk/part.c b/disk/part.c
index d73625c..9400a97 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -548,6 +548,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
goto cleanup;
}
+ (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
info->start = 0;
info->size = (*dev_desc)->lba;
info->blksz = (*dev_desc)->blksz;
@@ -631,6 +633,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
goto cleanup;
}
+ (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
ret = part;
goto cleanup;