|
@@ -184,6 +184,7 @@ static int nvme_rdma_alloc_qe(struct ib_device *ibdev, struct nvme_rdma_qe *qe,
|
|
|
qe->dma = ib_dma_map_single(ibdev, qe->data, capsule_size, dir);
|
|
|
if (ib_dma_mapping_error(ibdev, qe->dma)) {
|
|
|
kfree(qe->data);
|
|
|
+ qe->data = NULL;
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
|
|
@@ -823,6 +824,7 @@ out_free_tagset:
|
|
|
out_free_async_qe:
|
|
|
nvme_rdma_free_qe(ctrl->device->dev, &ctrl->async_event_sqe,
|
|
|
sizeof(struct nvme_command), DMA_TO_DEVICE);
|
|
|
+ ctrl->async_event_sqe.data = NULL;
|
|
|
out_free_queue:
|
|
|
nvme_rdma_free_queue(&ctrl->queues[0]);
|
|
|
return error;
|