From mboxrd@z Thu Jan 1 00:00:00 1970 From: sagi@grimberg.me (Sagi Grimberg) Date: Thu, 8 Aug 2019 13:53:21 -0700 Subject: [PATCH v3 3/7] nvme: make nvme_identify_ns propagate errors back In-Reply-To: <20190808205325.24036-1-sagi@grimberg.me> References: <20190808205325.24036-1-sagi@grimberg.me> Message-ID: <20190808205325.24036-4-sagi@grimberg.me> right now callers of nvme_identify_ns only know that it failed, but don't know why. Make nvme_identify_ns propagate the error back. Reviewed-by: Minwoo Im Signed-off-by: Sagi Grimberg --- drivers/nvme/host/core.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index f435c85c4062..e503fd14de81 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -1108,13 +1108,13 @@ static struct nvme_id_ns *nvme_identify_ns(struct nvme_ctrl *ctrl, id = kmalloc(sizeof(*id), GFP_KERNEL); if (!id) - return NULL; + return ERR_PTR(-ENOMEM); error = nvme_submit_sync_cmd(ctrl->admin_q, &c, id, sizeof(*id)); if (error) { dev_warn(ctrl->device, "Identify namespace failed (%d)\n", error); kfree(id); - return NULL; + return ERR_PTR(error); } return id; @@ -1748,8 +1748,8 @@ static int nvme_revalidate_disk(struct gendisk *disk) } id = nvme_identify_ns(ctrl, ns->head->ns_id); - if (!id) - return -ENODEV; + if (IS_ERR(id)) + return PTR_ERR(id); if (id->ncap == 0) { ret = -ENODEV; @@ -3337,8 +3337,8 @@ static int nvme_alloc_ns(struct nvme_ctrl *ctrl, unsigned nsid) nvme_set_queue_limits(ctrl, ns->queue); id = nvme_identify_ns(ctrl, nsid); - if (!id) { - ret = -EIO; + if (IS_ERR(id)) { + ret = PTR_ERR(id); goto out_free_queue; } -- 2.17.1