summaryrefslogtreecommitdiffstats
path: root/sys/dev/nvme/nvme_qpair.c
diff options
context:
space:
mode:
authorjimharris <jimharris@FreeBSD.org>2013-03-26 22:11:34 +0000
committerjimharris <jimharris@FreeBSD.org>2013-03-26 22:11:34 +0000
commit61a3cd77ccaa7474a0fa5821a55ad89fa7cea58d (patch)
treeb9721fc6e3a456241e04ecb5e27e06db526ce8fe /sys/dev/nvme/nvme_qpair.c
parent5242be57d3d5eddc6859707cd02c511befa48366 (diff)
downloadFreeBSD-src-61a3cd77ccaa7474a0fa5821a55ad89fa7cea58d.zip
FreeBSD-src-61a3cd77ccaa7474a0fa5821a55ad89fa7cea58d.tar.gz
Change a number of malloc(9) calls to use M_WAITOK instead of
M_NOWAIT. Sponsored by: Intel Suggested by: carl Reviewed by: carl
Diffstat (limited to 'sys/dev/nvme/nvme_qpair.c')
-rw-r--r--sys/dev/nvme/nvme_qpair.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c
index 7b12774..70cf363 100644
--- a/sys/dev/nvme/nvme_qpair.c
+++ b/sys/dev/nvme/nvme_qpair.c
@@ -297,12 +297,11 @@ nvme_qpair_construct(struct nvme_qpair *qpair, uint32_t id,
qpair->num_cmds = 0;
qpair->num_intr_handler_calls = 0;
- /* TODO: error checking on contigmalloc, bus_dmamap_load calls */
qpair->cmd = contigmalloc(qpair->num_entries *
- sizeof(struct nvme_command), M_NVME, M_ZERO | M_NOWAIT,
+ sizeof(struct nvme_command), M_NVME, M_ZERO,
0, BUS_SPACE_MAXADDR, PAGE_SIZE, 0);
qpair->cpl = contigmalloc(qpair->num_entries *
- sizeof(struct nvme_completion), M_NVME, M_ZERO | M_NOWAIT,
+ sizeof(struct nvme_completion), M_NVME, M_ZERO,
0, BUS_SPACE_MAXADDR, PAGE_SIZE, 0);
bus_dmamap_create(qpair->dma_tag, 0, &qpair->cmd_dma_map);
@@ -323,19 +322,13 @@ nvme_qpair_construct(struct nvme_qpair *qpair, uint32_t id,
STAILQ_INIT(&qpair->queued_req);
for (i = 0; i < qpair->num_trackers; i++) {
- tr = malloc(sizeof(*tr), M_NVME, M_ZERO | M_NOWAIT);
-
- if (tr == NULL) {
- printf("warning: nvme tracker malloc failed\n");
- break;
- }
-
+ tr = malloc(sizeof(*tr), M_NVME, M_ZERO | M_WAITOK);
nvme_qpair_construct_tracker(qpair, tr, i);
TAILQ_INSERT_HEAD(&qpair->free_tr, tr, tailq);
}
qpair->act_tr = malloc(sizeof(struct nvme_tracker *) * qpair->num_entries,
- M_NVME, M_ZERO | M_NOWAIT);
+ M_NVME, M_ZERO | M_WAITOK);
}
static void
OpenPOWER on IntegriCloud