mmc: core: check if CQE is already disabled before halt/unhalt
Upon any CQ error, the driver tries to halt the CQE first and if it fails to halt, then CQE is disabled. The error handling work function mmc_blk_cmdq_err() also tries to HALT the CQE at couple of places and takes some action based on the HALT success/error status. But since CQE is disabled, we should not treat any errors of CQE halt/unhalt as critical and in fact, we should not even attempt to halt/unhalt. Change-Id: I6bef9f2c033f78ad0959954acc5d7627e8a92139 Signed-off-by: Sahitya Tummala <stummala@codeaurora.org> Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
This commit is contained in:
parent
118ca5d727
commit
9b97ea99ee
1 changed files with 6 additions and 0 deletions
|
@ -1552,6 +1552,12 @@ int mmc_cmdq_halt(struct mmc_host *host, bool halt)
|
|||
{
|
||||
int err = 0;
|
||||
|
||||
if (mmc_host_cq_disable(host)) {
|
||||
pr_debug("%s: %s: CQE is already disabled\n",
|
||||
mmc_hostname(host), __func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((halt && mmc_host_halt(host)) ||
|
||||
(!halt && !mmc_host_halt(host))) {
|
||||
pr_debug("%s: %s: CQE is already %s\n", mmc_hostname(host),
|
||||
|
|
Loading…
Add table
Reference in a new issue