git: 4ccde1f0f101 - stable/12 - nvme(4): Do not panic on admin queue construct error.
Alexander Motin
mav at FreeBSD.org
Tue Sep 7 01:29:19 UTC 2021
The branch stable/12 has been updated by mav:
URL: https://cgit.FreeBSD.org/src/commit/?id=4ccde1f0f101412e4f9072e302aadeaa19a63f18
commit 4ccde1f0f101412e4f9072e302aadeaa19a63f18
Author: Alexander Motin <mav at FreeBSD.org>
AuthorDate: 2021-08-31 00:36:22 +0000
Commit: Alexander Motin <mav at FreeBSD.org>
CommitDate: 2021-09-07 01:25:32 +0000
nvme(4): Do not panic on admin queue construct error.
MFC after: 1 week
(cherry picked from commit 31111372e6bad7212dbee36dd312e3b53fdfd3f6)
---
sys/dev/nvme/nvme_ctrlr.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c
index 0cd2c31ab086..9893862f0183 100644
--- a/sys/dev/nvme/nvme_ctrlr.c
+++ b/sys/dev/nvme/nvme_ctrlr.c
@@ -1487,6 +1487,8 @@ nvme_ctrlr_destruct(struct nvme_controller *ctrlr, device_t dev)
if (ctrlr->resource == NULL)
goto nores;
+ if (!mtx_initialized(&ctrlr->adminq.lock))
+ goto noadminq;
/*
* Check whether it is a hot unplug or a clean driver detach.
@@ -1532,6 +1534,7 @@ nvme_ctrlr_destruct(struct nvme_controller *ctrlr, device_t dev)
if (!gone)
nvme_ctrlr_disable(ctrlr);
+noadminq:
if (ctrlr->taskqueue)
taskqueue_free(ctrlr->taskqueue);
More information about the dev-commits-src-all
mailing list