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

Commit 2a16d5e4 authored by Konstantin Dorfman's avatar Konstantin Dorfman
Browse files

mmc: core: skip stop flow when current request already done



When mmc_stop_request() has no request to stop, because underlying
host driver reported this, the flow should wait for the mmc done()
callback marking that urgent still pending.

CRs-Fixed: 538117
Change-Id: Ib684949619043882df69f4f1f9c45e28a67a5248
Signed-off-by: default avatarKonstantin Dorfman <kdorfman@codeaurora.org>
parent 1814b3c0
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -746,7 +746,11 @@ static int mmc_wait_for_data_req_done(struct mmc_host *host,
				 */
				mmc_update_clk_scaling(host);
				err = mmc_stop_request(host);
				if (err && !context_info->is_done_rcv) {
				if (err == MMC_BLK_NO_REQ_TO_STOP) {
					pending_is_urgent = true;
					/* wait for done/new/urgent event */
					continue;
				} else if (err && !context_info->is_done_rcv) {
					err = MMC_BLK_ABORT;
					break;
				}