diff --git a/sys/dev/nvme/nvme_ns.c b/sys/dev/nvme/nvme_ns.c
index 754d074..293dd25 100644
--- a/sys/dev/nvme/nvme_ns.c
+++ b/sys/dev/nvme/nvme_ns.c
@@ -461,6 +461,7 @@ nvme_ns_bio_process(struct nvme_namespace *ns, struct bio *bp,
 		    bp->bio_bcount/nvme_ns_get_sector_size(ns);
 		dsm_range->starting_lba =
 		    bp->bio_offset/nvme_ns_get_sector_size(ns);
+		nvme_printf(ns->ctrlr, "length=%ju lba=%ju\n", (uintmax_t)dsm_range->length, (uintmax_t)dsm_range->starting_lba);
 		bp->bio_driver2 = dsm_range;
 		err = nvme_ns_cmd_deallocate(ns, dsm_range, 1,
 			nvme_ns_bio_done, bp);
diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c
index 92fe672..6d36d33 100644
--- a/sys/dev/nvme/nvme_qpair.c
+++ b/sys/dev/nvme/nvme_qpair.c
@@ -319,6 +319,13 @@ nvme_qpair_complete_tracker(struct nvme_qpair *qpair, struct nvme_tracker *tr,
 
 	if (error && print_on_error) {
 		nvme_qpair_print_command(qpair, &req->cmd);
+		if (qpair->id > 0 && req->cmd.opc == NVME_OPC_DATASET_MANAGEMENT) {
+			struct nvme_dsm_range *dsm_range;
+
+			dsm_range = req->u.payload;
+			nvme_printf(qpair->ctrlr, "trim failed: len=%ju lba=%ju\n",
+				    (uintmax_t)dsm_range->length, (uintmax_t)dsm_range->starting_lba);
+		}
 		nvme_qpair_print_completion(qpair, cpl);
 	}
 
