nvme-core: check ctrl css before setting up zns
authorChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Tue, 9 Mar 2021 04:58:21 +0000 (20:58 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 Mar 2021 12:31:52 +0000 (14:31 +0200)
[ Upstream commit 0ec84df4953bd42c6583a555773f1d4996a061eb ]

Ensure multiple Command Sets are supported before starting to setup a
ZNS namespace.

Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
[hch: move the check around a bit]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/nvme/host/core.c

index 30e834d..140f19c 100644 (file)
@@ -4019,6 +4019,12 @@ static void nvme_validate_or_alloc_ns(struct nvme_ctrl *ctrl, unsigned nsid)
                                nsid);
                        break;
                }
+               if (!nvme_multi_css(ctrl)) {
+                       dev_warn(ctrl->device,
+                               "command set not reported for nsid: %d\n",
+                               ns->head->ns_id);
+                       break;
+               }
                nvme_alloc_ns(ctrl, nsid, &ids);
                break;
        default: