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

Commit 81e8efea authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mmc: queue: do not clean current request when urgent in progress"

parents db815802 5451b436
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2732,7 +2732,8 @@ out:
	 */
	if ((!req && !(mq->flags & MMC_QUEUE_NEW_REQUEST)) ||
			((mq->flags & MMC_QUEUE_URGENT_REQUEST) &&
			 !(mq->mqrq_cur->req->cmd_flags & REQ_URGENT))) {
			 !(mq->mqrq_cur->req->cmd_flags &
				MMC_REQ_NOREINSERT_MASK))) {
		if (mmc_card_need_bkops(card))
			mmc_start_bkops(card, false);
		/*
+2 −1
Original line number Diff line number Diff line
@@ -80,7 +80,8 @@ static int mmc_queue_thread(void *d)
				continue; /* fetch again */
			} else if ((mq->flags & MMC_QUEUE_URGENT_REQUEST) &&
				   (mq->mqrq_cur->req &&
				!(mq->mqrq_cur->req->cmd_flags & REQ_URGENT))) {
				!(mq->mqrq_cur->req->cmd_flags &
				       MMC_REQ_NOREINSERT_MASK))) {
				/*
				 * clean current request when urgent request
				 * processing in progress and current request is
+2 −3
Original line number Diff line number Diff line
@@ -897,9 +897,8 @@ struct mmc_async_req *mmc_start_req(struct mmc_host *host,
			mmc_post_req(host, host->areq->mrq, 0);
			host->areq = NULL;
			if (areq) {
				if (!(areq->cmd_flags & (REQ_URGENT
							 | REQ_FUA
							 | REQ_FLUSH))) {
				if (!(areq->cmd_flags &
						MMC_REQ_NOREINSERT_MASK)) {
					areq->reinsert_req(areq);
					mmc_post_req(host, areq->mrq, 0);
				} else {
+2 −0
Original line number Diff line number Diff line
@@ -215,6 +215,8 @@ enum rq_flag_bits {
#define REQ_NOMERGE_FLAGS \
	(REQ_NOMERGE | REQ_STARTED | REQ_SOFTBARRIER | REQ_FLUSH | REQ_FUA)

#define MMC_REQ_NOREINSERT_MASK (REQ_URGENT | REQ_FUA | REQ_FLUSH)

#define REQ_RAHEAD		(1 << __REQ_RAHEAD)
#define REQ_THROTTLED		(1 << __REQ_THROTTLED)