
Hi Mateusz,
In some cases MMC was still uninitialized while media capacity check, leading to broken ums command.
Tested on Samsung Goni.
Signed-off-by: Mateusz Zalega m.zalega@samsung.com Tested-by: Mateusz Zalega m.zalega@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com
board/samsung/common/ums.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/board/samsung/common/ums.c b/board/samsung/common/ums.c index dc155ad..dec2963 100644 --- a/board/samsung/common/ums.c +++ b/board/samsung/common/ums.c @@ -37,8 +37,8 @@ static struct ums ums_dev = {
static struct ums *ums_disk_init(struct mmc *mmc) {
- uint64_t mmc_end_sector = mmc->capacity / SECTOR_SIZE;
- uint64_t ums_end_sector = UMS_NUM_SECTORS + UMS_START_SECTOR;
- const uint64_t mmc_end_sector = mmc->capacity / SECTOR_SIZE;
- const uint64_t ums_end_sector = UMS_NUM_SECTORS +
UMS_START_SECTOR; if (!mmc_end_sector) { error("MMC capacity is not valid"); @@ -66,11 +66,9 @@ static struct ums *ums_disk_init(struct mmc *mmc)
struct ums *ums_init(unsigned int dev_num) {
- struct mmc *mmc = NULL;
- struct mmc *mmc = find_mmc_device(dev_num);
- mmc = find_mmc_device(dev_num);
- if (!mmc)
- if (!mmc || mmc_init(mmc)) return NULL;
- return ums_disk_init(mmc);
}
Acked-by: Lukasz Majewski l.majewski@samsung.com