Page MenuHomeFreeBSD

D32088.lt.diff
No OneTemporary

D32088.lt.diff

diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c
--- a/sys/dev/nvme/nvme_qpair.c
+++ b/sys/dev/nvme/nvme_qpair.c
@@ -624,7 +624,10 @@
NVME_STATUS_GET_P(status) == NVME_STATUS_GET_P(cpl.status),
("Phase unexpectedly inconsistent"));
- tr = qpair->act_tr[cpl.cid];
+ if (cpl.cid < qpair->num_trackers)
+ tr = qpair->act_tr[cpl.cid];
+ else
+ tr = NULL;
if (tr != NULL) {
nvme_qpair_complete_tracker(tr, &cpl, ERROR_PRINT_ALL);
@@ -644,7 +647,8 @@
* ignore this condition because it's not unexpected.
*/
nvme_printf(qpair->ctrlr,
- "cpl does not map to outstanding cmd\n");
+ "cpl (cid = %u) does not map to outstanding cmd\n",
+ cpl.cid);
/* nvme_dump_completion expects device endianess */
nvme_dump_completion(&qpair->cpl[qpair->cq_head]);
KASSERT(0, ("received completion for unknown cmd"));

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 18, 3:39 PM (10 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15870453
Default Alt Text
D32088.lt.diff (885 B)

Event Timeline