From: Ankur Arora Date: Wed, 6 Sep 2017 19:47:52 +0000 (-0700) Subject: blk-mq: add missing blk_mq_put_ctx X-Git-Tag: v4.1.12-111.0.20170918_2215~206 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7577ff1db8d82a5839887603c785d0591d0ebaf4;p=users%2Fjedix%2Flinux-maple.git blk-mq: add missing blk_mq_put_ctx In case of failure to queue to the lower level driver, we enqueue it via blk_mq_insert_request() and return while holding a cpu reference. Give up the currently held reference before calling blk_mq_insert_request(). Orabug: 26339553 Suggested-by: Bhavesh Davda Reviewed-by: Jianchao Wang Reviewed-by: Boris Ostrovsky Signed-off-by: Ankur Arora --- diff --git a/block/blk-mq.c b/block/blk-mq.c index 93246bc6ec75f..ef97afd4a4734 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1273,6 +1273,7 @@ static void blk_mq_make_request(struct request_queue *q, struct bio *bio) blk_mq_end_request(rq, rq->errors); goto done; } + blk_mq_put_ctx(data.ctx); blk_mq_insert_request(rq, false, true, true); return; }