Commit af99c465 authored by Daniel Verkamp's avatar Daniel Verkamp
Browse files

nvme: add return code to nvme_ctrlr_cmd_get_log_page



Request allocation may fail, so we need a way to indicate failure to the
caller.

Change-Id: I278c3f42e4d2fa1902bb0ab33ad3bf7c7007fd0d
Signed-off-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
parent 9945c00c
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -237,10 +237,13 @@ struct nvme_namespace *nvme_ctrlr_get_ns(struct nvme_controller *ctrlr, uint32_t
 * \param payload_size - the size of payload buffer.
 * \param cb_fn - call back funciton pointer which will be called after get log page.
 * \param cb_arg - input parameter for the cb_fn.
 *
 * \return 0 if successfully submitted, ENOMEM if resources could not be allocated for this request
 *
 * Call \ref nvme_ctrlr_process_admin_completions() to poll for completion
 * of commands submitted through this function.
 */
void nvme_ctrlr_cmd_get_log_page(struct nvme_controller *ctrlr,
int nvme_ctrlr_cmd_get_log_page(struct nvme_controller *ctrlr,
				uint8_t log_page, uint32_t nsid,
				void *payload, uint32_t payload_size,
				nvme_cb_fn_t cb_fn, void *cb_arg);
+7 −1
Original line number Diff line number Diff line
@@ -233,7 +233,7 @@ nvme_ctrlr_cmd_set_async_event_config(struct nvme_controller *ctrlr,
				   cb_arg);
}

void
int
nvme_ctrlr_cmd_get_log_page(struct nvme_controller *ctrlr, uint8_t log_page,
			    uint32_t nsid, void *payload, uint32_t payload_size, nvme_cb_fn_t cb_fn,
			    void *cb_arg)
@@ -243,6 +243,10 @@ nvme_ctrlr_cmd_get_log_page(struct nvme_controller *ctrlr, uint8_t log_page,

	nvme_mutex_lock(&ctrlr->ctrlr_lock);
	req = nvme_allocate_request(payload, payload_size, cb_fn, cb_arg);
	if (req == NULL) {
		nvme_mutex_unlock(&ctrlr->ctrlr_lock);
		return ENOMEM;
	}

	cmd = &req->cmd;
	cmd->opc = NVME_OPC_GET_LOG_PAGE;
@@ -252,6 +256,8 @@ nvme_ctrlr_cmd_get_log_page(struct nvme_controller *ctrlr, uint8_t log_page,

	nvme_ctrlr_submit_admin_request(ctrlr, req);
	nvme_mutex_unlock(&ctrlr->ctrlr_lock);

	return 0;
}

void
+3 −1
Original line number Diff line number Diff line
@@ -50,11 +50,13 @@ int nvme_qpair_construct(struct nvme_qpair *qpair, uint16_t id,
{
	return 0;
}
void

int
nvme_ctrlr_cmd_get_log_page(struct nvme_controller *ctrlr, uint8_t log_page,
			    uint32_t nsid, void *payload, uint32_t payload_size, nvme_cb_fn_t cb_fn,
			    void *cb_arg)
{
	return 0;
}

void