nvmet: fix Identify Controller handling
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>
Wed, 15 Mar 2023 10:59:36 +0000 (19:59 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:22 +0000 (23:03 +0900)
[ Upstream commit 62904b3b333e7f3c0f879dc3513295eee5765c9f ]

The identify command with cns set to NVME_ID_CNS_CTRL does not depend on
the command set. The execution of this command should thus not look at
the csi specified in the command. Simplify nvmet_execute_identify() to
directly call nvmet_execute_identify_ctrl() without the csi switch-case.

Fixes: ab5d0b38c047 ("nvmet: add Command Set Identifier support")
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Tested-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/nvme/target/admin-cmd.c

index d4c6550..ea7ad46 100644 (file)
@@ -706,11 +706,8 @@ static void nvmet_execute_identify(struct nvmet_req *req)
                }
                break;
        case NVME_ID_CNS_CTRL:
-               switch (req->cmd->identify.csi) {
-               case NVME_CSI_NVM:
-                       return nvmet_execute_identify_ctrl(req);
-               }
-               break;
+               nvmet_execute_identify_ctrl(req);
+               return;
        case NVME_ID_CNS_CS_CTRL:
                if (IS_ENABLED(CONFIG_BLK_DEV_ZONED)) {
                        switch (req->cmd->identify.csi) {