}
 
        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)
                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.
                host->pending_reset = false;
        }
 
-       if (!sdhci_has_requests(host))
-               sdhci_led_deactivate(host);
-
        host->mrqs_done[i] = NULL;
 
        mmiowb();