mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
mmc: fix capacity calculation when EXT_CSD_SEC_CNT is used
Since the type of "ext_csd" was array of char, the following calculation might fail when the value of ext_csd[EXT_CSD_SEC_CNT] was minus. capacity = ext_csd[EXT_CSD_SEC_CNT] << 0 | ext_csd[EXT_CSD_SEC_CNT + 1] << 8 | ext_csd[EXT_CSD_SEC_CNT + 2] << 16 | ext_csd[EXT_CSD_SEC_CNT + 3] << 24; So, this patch changes the type of "ext_csd" to array of u8. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
This commit is contained in:
parent
97a7b9928a
commit
cdfd1ac6df
1 changed files with 5 additions and 5 deletions
|
@ -658,7 +658,7 @@ int mmc_send_op_cond(struct mmc *mmc)
|
|||
}
|
||||
|
||||
|
||||
int mmc_send_ext_csd(struct mmc *mmc, char *ext_csd)
|
||||
int mmc_send_ext_csd(struct mmc *mmc, u8 *ext_csd)
|
||||
{
|
||||
struct mmc_cmd cmd;
|
||||
struct mmc_data data;
|
||||
|
@ -669,7 +669,7 @@ int mmc_send_ext_csd(struct mmc *mmc, char *ext_csd)
|
|||
cmd.resp_type = MMC_RSP_R1;
|
||||
cmd.cmdarg = 0;
|
||||
|
||||
data.dest = ext_csd;
|
||||
data.dest = (char *)ext_csd;
|
||||
data.blocks = 1;
|
||||
data.blocksize = 512;
|
||||
data.flags = MMC_DATA_READ;
|
||||
|
@ -704,7 +704,7 @@ int mmc_switch(struct mmc *mmc, u8 set, u8 index, u8 value)
|
|||
|
||||
int mmc_change_freq(struct mmc *mmc)
|
||||
{
|
||||
ALLOC_CACHE_ALIGN_BUFFER(char, ext_csd, 512);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, 512);
|
||||
char cardtype;
|
||||
int err;
|
||||
|
||||
|
@ -963,8 +963,8 @@ int mmc_startup(struct mmc *mmc)
|
|||
uint mult, freq;
|
||||
u64 cmult, csize, capacity;
|
||||
struct mmc_cmd cmd;
|
||||
ALLOC_CACHE_ALIGN_BUFFER(char, ext_csd, 512);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(char, test_csd, 512);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, 512);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(u8, test_csd, 512);
|
||||
int timeout = 1000;
|
||||
|
||||
#ifdef CONFIG_MMC_SPI_CRC_ON
|
||||
|
|
Loading…
Add table
Reference in a new issue