Merge "mmc: cmdq_hci: Avoid releasing clock twice during DCMD error"
This commit is contained in:
commit
cf05282438
2 changed files with 12 additions and 10 deletions
|
@ -128,14 +128,11 @@ static int mmc_cmdq_thread(void *d)
|
|||
|
||||
ret = mq->cmdq_issue_fn(mq, mq->cmdq_req_peeked);
|
||||
/*
|
||||
* Don't requeue if issue_fn fails, just bug on.
|
||||
* We don't expect failure here and there is no recovery other
|
||||
* than fixing the actual issue if there is any.
|
||||
* Don't requeue if issue_fn fails.
|
||||
* Recovery will be come by completion softirq
|
||||
* Also we end the request if there is a partition switch error,
|
||||
* so we should not requeue the request here.
|
||||
*/
|
||||
if (ret)
|
||||
BUG_ON(1);
|
||||
} /* loop */
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1102,12 +1102,17 @@ skip_cqterri:
|
|||
* before setting doorbell, hence one is not needed here.
|
||||
*/
|
||||
for_each_set_bit(tag, &comp_status, cq_host->num_slots) {
|
||||
/* complete the corresponding mrq */
|
||||
pr_debug("%s: completing tag -> %lu\n",
|
||||
mmc_hostname(mmc), tag);
|
||||
MMC_TRACE(mmc, "%s: completing tag -> %lu\n",
|
||||
__func__, tag);
|
||||
mrq = get_req_by_tag(cq_host, tag);
|
||||
if (!((mrq->cmd && mrq->cmd->error) ||
|
||||
mrq->cmdq_req->resp_err ||
|
||||
(mrq->data && mrq->data->error))) {
|
||||
/* complete the corresponding mrq */
|
||||
pr_debug("%s: completing tag -> %lu\n",
|
||||
mmc_hostname(mmc), tag);
|
||||
MMC_TRACE(mmc, "%s: completing tag -> %lu\n",
|
||||
__func__, tag);
|
||||
cmdq_finish_data(mmc, tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue