if (mrq->data)
                msdc_unprepare_data(host, mrq);
        mmc_request_done(host->mmc, mrq);
-
-       pm_runtime_mark_last_busy(host->dev);
-       pm_runtime_put_autosuspend(host->dev);
 }
 
 /* returns true if command is fully handled; returns false otherwise */
        WARN_ON(host->mrq);
        host->mrq = mrq;
 
-       pm_runtime_get_sync(host->dev);
-
        if (mrq->data)
                msdc_prepare_data(host, mrq);
 
        struct msdc_host *host = mmc_priv(mmc);
        int ret;
 
-       pm_runtime_get_sync(host->dev);
-
        msdc_set_buswidth(host, ios->bus_width);
 
        /* Suspend/Resume will do power off/on */
                                        ios->vdd);
                        if (ret) {
                                dev_err(host->dev, "Failed to set vmmc power!\n");
-                               goto end;
+                               return;
                        }
                }
                break;
 
        if (host->mclk != ios->clock || host->timing != ios->timing)
                msdc_set_mclk(host, ios->timing, ios->clock);
-
-end:
-       pm_runtime_mark_last_busy(host->dev);
-       pm_runtime_put_autosuspend(host->dev);
 }
 
 static u32 test_delay_bit(u32 delay, u32 bit)
        struct msdc_host *host = mmc_priv(mmc);
        int ret;
 
-       pm_runtime_get_sync(host->dev);
        ret = msdc_tune_response(mmc, opcode);
        if (ret == -EIO) {
                dev_err(host->dev, "Tune response fail!\n");
-               goto out;
+               return ret;
        }
        ret = msdc_tune_data(mmc, opcode);
        if (ret == -EIO)
                dev_err(host->dev, "Tune data fail!\n");
 
-out:
-       pm_runtime_mark_last_busy(host->dev);
-       pm_runtime_put_autosuspend(host->dev);
        return ret;
 }