]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
nvme: Namepace identification descriptor list is optional
authorKeith Busch <kbusch@kernel.org>
Mon, 2 Dec 2019 15:44:59 +0000 (00:44 +0900)
committerKeith Busch <kbusch@kernel.org>
Mon, 2 Dec 2019 21:10:00 +0000 (06:10 +0900)
Despite NVM Express specification 1.3 requires a controller claiming to
be 1.3 or higher implement Identify CNS 03h (Namespace Identification
Descriptor list), the driver doesn't really need this identification in
order to use a namespace. The code had already documented in comments
that we're not to consider an error to this command.

Return success if the controller provided any response to an
namespace identification descriptors command.

Fixes: 538af88ea7d9de24 ("nvme: make nvme_report_ns_ids propagate error back")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=205679
Reported-by: Ingo Brunberg <ingo_brunberg@web.de>
Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: stable@vger.kernel.org # 5.4+
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/core.c

index e6ee34376c5ea6dda19a3aeeed7b94faa465ad41..2a84e140224467a9d7b7afa97b65b394d965d4d4 100644 (file)
@@ -1735,6 +1735,8 @@ static int nvme_report_ns_ids(struct nvme_ctrl *ctrl, unsigned int nsid,
                if (ret)
                        dev_warn(ctrl->device,
                                 "Identify Descriptors failed (%d)\n", ret);
+               if (ret > 0)
+                       ret = 0;
        }
        return ret;
 }