From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sudhakar Rajashekhara Date: Fri, 14 May 2010 13:46:23 +0530 Subject: [U-Boot] [PATCH 2/4] MMC Card Capacity Bug Fix In-Reply-To: <1273657107-7148-2-git-send-email-alagusankar@embwise.com> References: <1273657107-7148-1-git-send-email-alagusankar@embwise.com> <1273657107-7148-2-git-send-email-alagusankar@embwise.com> Message-ID: <014e01caf33d$bde75710$39b60530$@raj@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Alagu, On Wed, May 12, 2010 at 15:08:25, Alagu Sankar wrote: > Fixed a bug in card capacity calculation for MMC high-capacity cards. > > Signed-off-by: Alagu Sankar > --- > drivers/mmc/mmc.c | 9 ++++++++- > 1 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c > index 959d8ad..e7abf94 100644 > --- a/drivers/mmc/mmc.c > +++ b/drivers/mmc/mmc.c > @@ -393,6 +393,7 @@ int mmc_change_freq(struct mmc *mmc) > char ext_csd[512]; > char cardtype; > int err; > + unsigned int sec_count; > This can be uint too or you can use unsigned int to typecast below. Regards, Sudhakar > mmc->card_caps = 0; > > @@ -407,8 +408,14 @@ int mmc_change_freq(struct mmc *mmc) > if (err) > return err; > > - if (ext_csd[212] || ext_csd[213] || ext_csd[214] || ext_csd[215]) > + sec_count = ((uint)ext_csd[212] | > + ((uint)ext_csd[213] << 8) | > + ((uint)ext_csd[214] << 16) | > + ((uint)ext_csd[215] << 24)); > + if (sec_count) { > mmc->high_capacity = 1; > + mmc->capacity = sec_count * 512; > + } > > cardtype = ext_csd[196] & 0xf; > > -- > 1.6.0.6 > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot >