struct mmc_request mrq;
        struct mmc_command cmd = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
        unsigned int timeout_us;
 
        struct scatterlist sg;
        cmd.arg = 0;
        cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
 
-       memset(&data, 0, sizeof(struct mmc_data));
-
        data.timeout_ns = card->csd.tacc_ns * 100;
        data.timeout_clks = card->csd.tacc_clks * 100;
 
 
        struct mmc_request mrq;
        struct mmc_command cmd = {0};
        struct mmc_command stop = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
 
        struct scatterlist sg;
 
        memset(&mrq, 0, sizeof(struct mmc_request));
-       memset(&data, 0, sizeof(struct mmc_data));
 
        mrq.cmd = &cmd;
        mrq.data = &data;
        struct mmc_request mrq;
        struct mmc_command cmd = {0};
        struct mmc_command stop = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
 
        memset(&mrq, 0, sizeof(struct mmc_request));
-       memset(&data, 0, sizeof(struct mmc_data));
 
        mrq.cmd = &cmd;
        mrq.data = &data;
        struct mmc_request mrq;
        struct mmc_command cmd = {0};
        struct mmc_command stop = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
 
        struct scatterlist sg;
 
        memset(&mrq, 0, sizeof(struct mmc_request));
-       memset(&data, 0, sizeof(struct mmc_data));
 
        mrq.cmd = &cmd;
        mrq.data = &data;
 
 {
        struct mmc_request mrq;
        struct mmc_command cmd = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
        struct scatterlist sg;
        void *data_buf;
 
                return -ENOMEM;
 
        memset(&mrq, 0, sizeof(struct mmc_request));
-       memset(&data, 0, sizeof(struct mmc_data));
 
        mrq.cmd = &cmd;
        mrq.data = &data;
 {
        struct mmc_request mrq;
        struct mmc_command cmd = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
        struct scatterlist sg;
        u8 *data_buf;
        u8 *test_buf;
                memcpy(data_buf, test_buf, len);
 
        memset(&mrq, 0, sizeof(struct mmc_request));
-       memset(&data, 0, sizeof(struct mmc_data));
 
        mrq.cmd = &cmd;
        mrq.data = &data;
 
        int err;
        struct mmc_request mrq;
        struct mmc_command cmd = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
        struct scatterlist sg;
        void *data_buf;
 
                return -ENOMEM;
 
        memset(&mrq, 0, sizeof(struct mmc_request));
-       memset(&data, 0, sizeof(struct mmc_data));
 
        mrq.cmd = &cmd;
        mrq.data = &data;
 {
        struct mmc_request mrq;
        struct mmc_command cmd = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
        struct scatterlist sg;
 
        BUG_ON(!card);
        value &= 0xF;
 
        memset(&mrq, 0, sizeof(struct mmc_request));
-       memset(&data, 0, sizeof(struct mmc_data));
 
        mrq.cmd = &cmd;
        mrq.data = &data;
        int err;
        struct mmc_request mrq;
        struct mmc_command cmd = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
        struct scatterlist sg;
 
        BUG_ON(!card);
                return err;
 
        memset(&mrq, 0, sizeof(struct mmc_request));
-       memset(&data, 0, sizeof(struct mmc_data));
 
        mrq.cmd = &cmd;
        mrq.data = &data;
 
 {
        struct mmc_request mrq;
        struct mmc_command cmd = {0};
-       struct mmc_data data;
+       struct mmc_data data = {0};
        struct scatterlist sg;
 
        BUG_ON(!card);
                return -EINVAL;
 
        memset(&mrq, 0, sizeof(struct mmc_request));
-       memset(&data, 0, sizeof(struct mmc_data));
 
        mrq.cmd = &cmd;
        mrq.data = &data;