From: Sebastien Bourdelin <sebastien.bourdelin@xxxxxxxx> All structs mci_cmd should be init to zero to avoid error while using the busy_timeout value. Signed-off-by: Sebastien Bourdelin <sebastien.bourdelin@xxxxxxxx> --- arch/arm/mach-socfpga/arria10-xload-emmc.c | 2 +- drivers/mci/dwcmshc-sdhci.c | 2 +- drivers/mci/imx-esdhc-pbl.c | 4 +-- drivers/mci/mci-core.c | 34 +++++++++++----------- drivers/mci/stm32_sdmmc2.c | 2 +- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/arch/arm/mach-socfpga/arria10-xload-emmc.c b/arch/arm/mach-socfpga/arria10-xload-emmc.c index ed24faf9bf..61774c6174 100644 --- a/arch/arm/mach-socfpga/arria10-xload-emmc.c +++ b/arch/arm/mach-socfpga/arria10-xload-emmc.c @@ -178,7 +178,7 @@ static int dwmci_cmd(struct mci_cmd *cmd, struct mci_data *data) int arria10_read_blocks(void *dst, int blocknum, size_t len) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; struct mci_data data; int ret; int blocks; diff --git a/drivers/mci/dwcmshc-sdhci.c b/drivers/mci/dwcmshc-sdhci.c index 010d376421..a7306fdb44 100644 --- a/drivers/mci/dwcmshc-sdhci.c +++ b/drivers/mci/dwcmshc-sdhci.c @@ -52,7 +52,7 @@ static int do_abort_sequence(struct mci_host *mci, struct mci_cmd *current_cmd) { int ret = 0; struct dwcmshc_host *host = priv_from_mci_host(mci); - struct mci_cmd cmd; + struct mci_cmd cmd = {}; u64 start; mci_setup_cmd(&cmd, MMC_CMD_STOP_TRANSMISSION, 0, MMC_RSP_R1b); diff --git a/drivers/mci/imx-esdhc-pbl.c b/drivers/mci/imx-esdhc-pbl.c index 5b1d9a3cf4..0e4f96d2de 100644 --- a/drivers/mci/imx-esdhc-pbl.c +++ b/drivers/mci/imx-esdhc-pbl.c @@ -35,7 +35,7 @@ static u8 ext_csd[512] __aligned(64); static int esdhc_send_ext_csd(struct fsl_esdhc_host *host) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; struct mci_data data; cmd.cmdidx = MMC_CMD_SEND_EXT_CSD; @@ -67,7 +67,7 @@ static bool __maybe_unused esdhc_bootpart_active(struct fsl_esdhc_host *host) static int esdhc_read_blocks(struct fsl_esdhc_host *host, void *dst, size_t len) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; struct mci_data data; u32 val; int ret; diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c index 48a3df9ec9..a6c304c1bd 100644 --- a/drivers/mci/mci-core.c +++ b/drivers/mci/mci-core.c @@ -119,7 +119,7 @@ static void mci_setup_cmd(struct mci_cmd *p, unsigned cmd, unsigned arg, unsigne */ static int mci_set_dsr(struct mci *mci) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; mci_setup_cmd(&cmd, MMC_CMD_SET_DSR, (mci->host->dsr_val >> 16) | 0xffff, MMC_RSP_NONE); @@ -134,7 +134,7 @@ static int mci_set_dsr(struct mci *mci) */ static int mci_set_blocklen(struct mci *mci, unsigned len) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; if (mci->host->timing == MMC_TIMING_MMC_DDR52) return 0; @@ -148,7 +148,7 @@ static void *sector_buf; static int mci_send_status(struct mci *mci, unsigned int *status) { struct mci_host *host = mci->host; - struct mci_cmd cmd; + struct mci_cmd cmd = {}; int ret; /* @@ -172,7 +172,7 @@ static int mci_send_status(struct mci *mci, unsigned int *status) static int mci_app_sd_status(struct mci *mci, __be32 *ssr) { int err; - struct mci_cmd cmd; + struct mci_cmd cmd = {}; struct mci_data data; cmd.cmdidx = MMC_CMD_APP_CMD; @@ -272,7 +272,7 @@ static int mci_poll_until_ready(struct mci *mci, int timeout_ms) static int mci_block_write(struct mci *mci, const void *src, int blocknum, int blocks) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; struct mci_data data; unsigned mmccmd; int ret; @@ -374,7 +374,7 @@ static int mci_block_erase(struct mci *card, unsigned int from, static int mci_read_block(struct mci *mci, void *dst, int blocknum, int blocks) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; struct mci_data data; int ret; unsigned mmccmd; @@ -411,7 +411,7 @@ static int mci_read_block(struct mci *mci, void *dst, int blocknum, */ static int mci_go_idle(struct mci *mci) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; int err; udelay(1000); @@ -431,7 +431,7 @@ static int mci_go_idle(struct mci *mci) static int sdio_send_op_cond(struct mci *mci) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; mci_setup_cmd(&cmd, SD_IO_SEND_OP_COND, 0, MMC_RSP_SPI_R4 | MMC_RSP_R4 | MMC_CMD_BCR); @@ -446,7 +446,7 @@ static int sdio_send_op_cond(struct mci *mci) static int sd_send_op_cond(struct mci *mci) { struct mci_host *host = mci->host; - struct mci_cmd cmd; + struct mci_cmd cmd = {}; int timeout = 1000; int err; unsigned voltages; @@ -521,7 +521,7 @@ static int sd_send_op_cond(struct mci *mci) static int mmc_send_op_cond(struct mci *mci) { struct mci_host *host = mci->host; - struct mci_cmd cmd; + struct mci_cmd cmd = {}; int timeout = 1000; int err; @@ -566,7 +566,7 @@ static int mmc_send_op_cond(struct mci *mci) */ int mci_send_ext_csd(struct mci *mci, char *ext_csd) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; struct mci_data data; /* Get the Card Status Register */ @@ -595,7 +595,7 @@ int mci_send_ext_csd(struct mci *mci, char *ext_csd) int mci_switch(struct mci *mci, unsigned index, unsigned value) { unsigned int status; - struct mci_cmd cmd; + struct mci_cmd cmd = {}; int ret; mci_setup_cmd(&cmd, MMC_CMD_SWITCH, @@ -840,7 +840,7 @@ static int mmc_change_freq(struct mci *mci) static int sd_switch(struct mci *mci, unsigned mode, unsigned group, unsigned value, uint8_t *resp) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; struct mci_data data; unsigned arg; @@ -909,7 +909,7 @@ static int sd_read_ssr(struct mci *mci) */ static int sd_change_freq(struct mci *mci) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; struct mci_data data; struct mci_host *host = mci->host; uint32_t *switch_status = sector_buf; @@ -1387,7 +1387,7 @@ static char *mci_version_string(struct mci *mci) static int mci_startup_sd(struct mci *mci) { - struct mci_cmd cmd; + struct mci_cmd cmd = {}; int err; if (mci_caps(mci) & MMC_CAP_4_BIT_DATA) { @@ -1782,7 +1782,7 @@ static int mci_startup_mmc(struct mci *mci) static int mci_startup(struct mci *mci) { struct mci_host *host = mci->host; - struct mci_cmd cmd; + struct mci_cmd cmd = {}; int err; if (IS_ENABLED(CONFIG_MMC_SPI_CRC_ON) && mmc_host_is_spi(host)) { /* enable CRC check for spi */ @@ -1924,7 +1924,7 @@ static int mci_startup(struct mci *mci) static int sd_send_if_cond(struct mci *mci) { struct mci_host *host = mci->host; - struct mci_cmd cmd; + struct mci_cmd cmd = {}; int err; mci_setup_cmd(&cmd, SD_CMD_SEND_IF_COND, diff --git a/drivers/mci/stm32_sdmmc2.c b/drivers/mci/stm32_sdmmc2.c index 822416c457..64a7171d2c 100644 --- a/drivers/mci/stm32_sdmmc2.c +++ b/drivers/mci/stm32_sdmmc2.c @@ -512,7 +512,7 @@ static int stm32_sdmmc2_send_cmd(struct mci_host *mci, struct mci_cmd *cmd, * shall be send on cmd or data errors. */ if (ret && cmd->cmdidx != MMC_CMD_STOP_TRANSMISSION) { - struct mci_cmd stop_cmd; + struct mci_cmd stop_cmd = {}; stop_cmd.cmdidx = MMC_CMD_STOP_TRANSMISSION; stop_cmd.cmdarg = 0; -- 2.46.2