diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/block/nvme-core.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c index 358d177..391a874 100644 --- a/drivers/block/nvme-core.c +++ b/drivers/block/nvme-core.c @@ -1054,14 +1054,19 @@ static int nvme_configure_admin_queue(struct nvme_dev *dev) } } - if (result) { - nvme_free_queue_mem(nvmeq); - return result; - } + if (result) + goto free_q; result = queue_request_irq(dev, nvmeq, "nvme admin"); + if (result) + goto free_q; + dev->queues[0] = nvmeq; return result; + + free_q: + nvme_free_queue_mem(nvmeq); + return result; } struct nvme_iod *nvme_map_user_pages(struct nvme_dev *dev, int write, |