|
@@ -678,6 +678,11 @@ static int nvme_queue_rq(struct blk_mq_hw_ctx *hctx,
|
|
|
blk_mq_start_request(req);
|
|
|
|
|
|
spin_lock_irq(&nvmeq->q_lock);
|
|
|
+ if (unlikely(nvmeq->cq_vector < 0)) {
|
|
|
+ ret = BLK_MQ_RQ_QUEUE_BUSY;
|
|
|
+ spin_unlock_irq(&nvmeq->q_lock);
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
__nvme_submit_cmd(nvmeq, &cmnd);
|
|
|
nvme_process_cq(nvmeq);
|
|
|
spin_unlock_irq(&nvmeq->q_lock);
|