diff --git a/block/blk-mq.c b/block/blk-mq.c index 59687ed6561b9b2a6c25e2af272305334c763152..7f01d69879d6675af4417d747ac8d83b1486b1af 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -476,6 +476,9 @@ void blk_mq_free_request(struct request *rq) if (rq->rq_flags & RQF_MQ_INFLIGHT) atomic_dec(&hctx->nr_active); + if (unlikely(laptop_mode && !blk_rq_is_passthrough(rq))) + laptop_io_completion(q->backing_dev_info); + wbt_done(q->rq_wb, &rq->issue_stat); clear_bit(REQ_ATOM_STARTED, &rq->atomic_flags);