>> @@ -1473,6 +1473,9 @@ static int mmc_blk_cqe_issue_flush(struct mmc_queue *mq, struct request *req) >> struct mmc_queue_req *mqrq = req_to_mmc_queue_req(req); >> struct mmc_request *mrq = mmc_blk_cqe_prep_dcmd(mqrq, req); >> >> + if (mmc_card_mmc(mq->card) && !mmc_flush_allowed(mq->card)) >> + return 0; > Returning 0 means the flush was issued successfully. i.e. it is in > flight. > > Instead, a call to blk_mq_end_request(req, BLK_STS_OK) is needed, > and mmc_blk_mq_issue_rq() must be amended so that it will return > MMC_REQ_DONE for this case. Done. Thanks, Avri