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 <bhavesh.davda@oracle.com>
Reviewed-by: Jianchao Wang <jianchao.w.wang@oracle.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Ankur Arora <ankur.a.arora@oracle.com>
blk_mq_end_request(rq, rq->errors);
goto done;
}
+ blk_mq_put_ctx(data.ctx);
blk_mq_insert_request(rq, false, true, true);
return;
}