mmc: cmdq_hci: fix platform device power management reference counting

After issuing a request the usage_count is decremented. After idle time
controller irq is disabled by platform device runtime pm and request
complete irq is not handled.

This change moves decrement of usage_count from the end of issuing request
to the end of request completion.

Change-Id: I1322e0d1ab4ffbf50956fec2921c778e0dcddf36
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
This commit is contained in:
Konstantin Dorfman 2015-08-02 17:06:18 +03:00 committed by Subhash Jadavani
parent 278a3d6e3f
commit 6e4be0bac2

View file

@ -628,7 +628,6 @@ static int cmdq_request(struct mmc_host *mmc, struct mmc_request *mrq)
cmdq_writel(cq_host, 1 << tag, CQTDBR);
out:
cmdq_runtime_pm_put(cq_host);
return err;
}
@ -644,6 +643,8 @@ static void cmdq_finish_data(struct mmc_host *mmc, unsigned int tag)
if (mrq->cmdq_req->cmdq_req_flags & DCMD)
cmdq_writel(cq_host, cmdq_readl(cq_host, CQ_VENDOR_CFG) |
CMDQ_SEND_STATUS_TRIGGER, CQCTL);
cmdq_runtime_pm_put(cq_host);
mrq->done(mrq);
}