diff options
author | Venkatraman S <svenkatr@ti.com> | 2012-06-22 11:42:36 +0530 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2012-07-10 23:04:04 -0400 |
commit | 6af9e96e052a6d1a760c60cb340c5a6584cb92db (patch) | |
tree | 60ff946a87bcedf6a3e3eccafa994f468f955b75 /drivers/mmc/core/mmc_ops.c | |
parent | fd0ea65d3e675e479e022b6cfc9ebe1864c76afc (diff) | |
download | linux-6af9e96e052a6d1a760c60cb340c5a6584cb92db.tar.gz linux-6af9e96e052a6d1a760c60cb340c5a6584cb92db.tar.bz2 linux-6af9e96e052a6d1a760c60cb340c5a6584cb92db.zip |
mmc: core: Fix the HPI execution sequence
mmc_execute_hpi should send the HPI command only once, and only
if the card is in PRG state.
According to eMMC spec, the command's completion time is
not dependent on OUT_OF_INTERRUPT_TIME. Only the transition
out of PRG STATE is guarded by OUT_OF_INTERRUPT_TIME - which
is defined to begin at the end of sending the command itself.
Specify the default timeout for the actual sending of HPI
command, and then use OUT_OF_INTERRUPT_TIME to wait for
the transition out of PRG state.
Reported-by: Alex Lemberg <Alex.Lemberg@sandisk.com>
Signed-off-by: Venkatraman S <svenkatr@ti.com>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/core/mmc_ops.c')
-rw-r--r-- | drivers/mmc/core/mmc_ops.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c index 69370f494e05..0ed2cc5f35b6 100644 --- a/drivers/mmc/core/mmc_ops.c +++ b/drivers/mmc/core/mmc_ops.c @@ -569,7 +569,6 @@ int mmc_send_hpi_cmd(struct mmc_card *card, u32 *status) cmd.opcode = opcode; cmd.arg = card->rca << 16 | 1; - cmd.cmd_timeout_ms = card->ext_csd.out_of_int_time; err = mmc_wait_for_cmd(card->host, &cmd, 0); if (err) { |