summaryrefslogtreecommitdiff
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
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.
-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;