mirror of
https://github.com/LineageOS/android_kernel_samsung_msm8226.git
synced 2026-09-29 00:00:25 +02:00
Merge "mmc: core: Move update of is_waiting_last_req flag"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
89deaa74e8
@@ -2181,6 +2181,8 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
|
||||
int ret;
|
||||
struct mmc_blk_data *md = mq->data;
|
||||
struct mmc_card *card = md->queue.card;
|
||||
struct mmc_host *host = card->host;
|
||||
unsigned long flags;
|
||||
|
||||
#ifdef CONFIG_MMC_BLOCK_DEFERRED_RESUME
|
||||
if (mmc_bus_needs_resume(card->host)) {
|
||||
@@ -2228,6 +2230,11 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
|
||||
mmc_blk_issue_rw_rq(mq, NULL);
|
||||
ret = mmc_blk_issue_flush(mq, req);
|
||||
} else {
|
||||
if (!req && host->areq) {
|
||||
spin_lock_irqsave(&host->context_info.lock, flags);
|
||||
host->context_info.is_waiting_last_req = true;
|
||||
spin_unlock_irqrestore(&host->context_info.lock, flags);
|
||||
}
|
||||
ret = mmc_blk_issue_rw_rq(mq, req);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,14 +78,6 @@ static int mmc_queue_thread(void *d)
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
req = blk_fetch_request(q);
|
||||
mq->mqrq_cur->req = req;
|
||||
if (!req && mq->mqrq_prev->req &&
|
||||
!(mq->mqrq_prev->req->cmd_flags & REQ_SANITIZE) &&
|
||||
!(mq->mqrq_prev->req->cmd_flags & REQ_FLUSH) &&
|
||||
!(mq->mqrq_prev->req->cmd_flags & REQ_DISCARD)) {
|
||||
card->host->context_info.is_waiting_last_req = true;
|
||||
if (stats && stats->enabled)
|
||||
stats->null_fetched++;
|
||||
}
|
||||
spin_unlock_irq(q->queue_lock);
|
||||
|
||||
if (req || mq->mqrq_prev->req) {
|
||||
|
||||
Reference in New Issue
Block a user