Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26dc8d99 authored by Sahitya Tummala's avatar Sahitya Tummala Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarSahitya Tummala <stummala@codeaurora.org>
Signed-off-by: default avatarSayali Lokhande <sayalil@codeaurora.org>
parent caf653d8
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1476,6 +1476,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),