Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 025c557a authored by Keith Busch's avatar Keith Busch Committed by Matthew Wilcox
Browse files

NVMe: Free admin queue on request_irq error



Fixes a potential memory leak if requesting the admin queue irq fails.

Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
Signed-off-by: default avatarMatthew Wilcox <matthew.r.wilcox@intel.com>
parent ec503733
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -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,