mmc: sdhci: Move some processing to __sdhci_finish_mrq()
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 5 Apr 2019 12:40:18 +0000 (15:40 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 15 Apr 2019 10:03:28 +0000 (12:03 +0200)
In preparation for removing finish_tasklet, move some processing from
sdhci_request_done() to __sdhci_finish_mrq().

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci.c

index 7d16c88f7eaa122d357f2fe24667bbd6aee808bc..cb3e75bd5b37dd244ee6cb85777c1a15bca1ed1e 100644 (file)
@@ -1270,6 +1270,11 @@ static void __sdhci_finish_mrq(struct sdhci_host *host, struct mmc_request *mrq)
        }
 
        WARN_ON(i >= SDHCI_MAX_MRQS);
+
+       sdhci_del_timer(host, mrq);
+
+       if (!sdhci_has_requests(host))
+               sdhci_led_deactivate(host);
 }
 
 static void sdhci_finish_mrq(struct sdhci_host *host, struct mmc_request *mrq)
@@ -2617,8 +2622,6 @@ static bool sdhci_request_done(struct sdhci_host *host)
                return true;
        }
 
-       sdhci_del_timer(host, mrq);
-
        /*
         * Always unmap the data buffers if they were mapped by
         * sdhci_prepare_data() whenever we finish with a request.
@@ -2700,9 +2703,6 @@ static bool sdhci_request_done(struct sdhci_host *host)
                host->pending_reset = false;
        }
 
-       if (!sdhci_has_requests(host))
-               sdhci_led_deactivate(host);
-
        host->mrqs_done[i] = NULL;
 
        mmiowb();