diff options
author | Subhash Jadavani <subhashj@codeaurora.org> | 2012-06-13 11:40:43 (GMT) |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2012-06-26 20:10:29 (GMT) |
commit | d380443cd0271903bf9516bc04cead81676be034 (patch) | |
tree | 27e5660f45086886fc3679679bb7ada7dfeb860a /crypto/af_alg.c | |
parent | d1346a6cbabf6d377d753f1adc16cb0b305830cc (diff) | |
download | linux-fsl-qoriq-d380443cd0271903bf9516bc04cead81676be034.tar.xz |
mmc: block: fix the data timeout issue with ACMD22
If multi block write operation fails for SD card, during
error handling we send the SD_APP_SEND_NUM_WR_BLKS (ACMD22)
to know how many blocks were already programmed by card.
But mmc_sd_num_wr_blocks() function which sends the ACMD22
calculates the data timeout value from csd.tacc_ns and
csd.tacc_clks parameters which will be 0 for block addressed
(>2GB cards) SD card. This would result in timeout_ns and
timeout_clks being 0 in the mmc_request passed to host driver.
This means host controller would program its data timeout timer
value with 0 which could result in DATA TIMEOUT errors from
controller.
To fix this issue, mmc_sd_num_wr_blocks() should instead
just call the mmc_set_data_timeout() to calculate the
data timeout value. mmc_set_data_timeout() function
ensures that non zero timeout value is set even for
block addressed SD cards.
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'crypto/af_alg.c')
0 files changed, 0 insertions, 0 deletions