From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Wed, 02 Apr 2014 08:36:29 +0200 Subject: [U-Boot] [PATCH v3 12/13] ums: always initialize mmc before ums_disk_init() In-Reply-To: <1396280952-30636-13-git-send-email-m.zalega@samsung.com> References: <1389277919-15279-1-git-send-email-m.zalega@samsung.com> <1396280952-30636-1-git-send-email-m.zalega@samsung.com> <1396280952-30636-13-git-send-email-m.zalega@samsung.com> Message-ID: <20140402083629.6cd4a079@amdc2363> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Mateusz, > In some cases MMC was still uninitialized while media capacity check, > leading to broken ums command. > > Tested on Samsung Goni. > > Change-Id: I4b86c2c59e430fb8b55272ea14f00316d8cb3dca > Signed-off-by: Mateusz Zalega > Tested-by: Mateusz Zalega > Cc: Lukasz Majewski > Cc: Minkyu Kang > --- > board/samsung/common/ums.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/board/samsung/common/ums.c b/board/samsung/common/ums.c > index dc155ad..1375138 100644 > --- a/board/samsung/common/ums.c > +++ b/board/samsung/common/ums.c > @@ -35,10 +35,10 @@ static struct ums ums_dev = { > .name = "UMS disk", > }; > > -static struct ums *ums_disk_init(struct mmc *mmc) > +static struct ums *ums_disk_init(const 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 -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group