[PATCH] NVMe-CLI Fixed Status Code check for reset type on fw-activate.
jeffreyalien
jeff.lien at wdc.com
Tue Sep 12 10:37:05 PDT 2017
From: Jeff Lien <Jeff.Lien at hgst.com>
If a device returns a fw-activate status with the More or DNR bit
set, the CLI code will return a message indicating an Admin command
error instead of succesful status. With this patch, the More and
DNR bits will be masked off and not affect the returned message.
---
nvme.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/nvme.c b/nvme.c
index f1d6d65..d495cbb 100644
--- a/nvme.c
+++ b/nvme.c
@@ -1389,7 +1389,7 @@ static int fw_download(int argc, char **argv, struct command *cmd, struct plugin
static char *nvme_fw_status_reset_type(__u32 status)
{
- switch (status) {
+ switch (status & 0x3ff) {
case NVME_SC_FW_NEEDS_CONV_RESET: return "conventional";
case NVME_SC_FW_NEEDS_SUBSYS_RESET: return "subsystem";
case NVME_SC_FW_NEEDS_RESET: return "any controller";
@@ -1441,7 +1441,7 @@ static int fw_activate(int argc, char **argv, struct command *cmd, struct plugin
if (err < 0)
perror("fw-activate");
else if (err != 0)
- switch (err) {
+ switch (err & 0x3ff) {
case NVME_SC_FW_NEEDS_CONV_RESET:
case NVME_SC_FW_NEEDS_SUBSYS_RESET:
case NVME_SC_FW_NEEDS_RESET:
--
1.8.3.1
More information about the Linux-nvme
mailing list