u32 timeout = 0;
if (!mrq->cmd->data) {
- if (mrq->cmd->opcode == MMC_ERASE || (mrq->cmd->opcode == MMC_SEND_STATUS))
+ if (mrq->cmd->opcode == MMC_ERASE ||
+ (mrq->cmd->opcode == MMC_ERASE_GROUP_START) ||
+ (mrq->cmd->opcode == MMC_ERASE_GROUP_END) ||
+ (mrq->cmd->opcode == MMC_SEND_STATUS))
timeout = 2500000;
else
timeout = 500;
} else {
- timeout = mrq->cmd->data->blocks * mrq->cmd->data->blksz * 500;
- if(!timeout)
- timeout = 1000;
- else if (timeout > 8 * 1000)
+ timeout = mrq->cmd->data->blocks *
+ mrq->cmd->data->blksz * 500;
+
+ timeout = timeout ? timeout : 1000;
+ if (timeout > 8000)
timeout = 8000;
}
while (1) {
- if (!wait_for_completion_timeout(&mrq->completion, msecs_to_jiffies(timeout))) {
+ if (!wait_for_completion_timeout(&mrq->completion,
+ msecs_to_jiffies(timeout))) {
cmd = mrq->cmd;
cmd->error = -ETIMEDOUT;
host->ops->post_tmo(host);
- dev_err(mmc_dev(host), "req failed (CMD%u): error = %d, timeout = %dms\n",
- cmd->opcode, cmd->error, timeout);
+ dev_err(mmc_dev(host),
+ "req failed (CMD%u): error = %d, timeout = %dms\n",
+ cmd->opcode, cmd->error, timeout);
if (!cmd->data)
break;
}