If a controller has received a link integrity or congestion event, and
has the NVME_CTRL_MARGINAL flag set, emit "marginal" in the state
instead of "live", to identify the marginal paths.

Co-developed-by: John Meneghini <[email protected]>
Signed-off-by: John Meneghini <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Reviewed-by: Chaitanya Kulkarni <[email protected]>
Tested-by: Muneendra Kumar <[email protected]>
Signed-off-by: Bryan Gurney <[email protected]>
---
 drivers/nvme/host/sysfs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/nvme/host/sysfs.c b/drivers/nvme/host/sysfs.c
index 29430949ce2f..4a6135c2f9cb 100644
--- a/drivers/nvme/host/sysfs.c
+++ b/drivers/nvme/host/sysfs.c
@@ -430,7 +430,9 @@ static ssize_t nvme_sysfs_show_state(struct device *dev,
        };
 
        if (state < ARRAY_SIZE(state_name) && state_name[state])
-               return sysfs_emit(buf, "%s\n", state_name[state]);
+               return sysfs_emit(buf, "%s\n",
+                       (nvme_ctrl_is_marginal(ctrl)) ? "marginal" :
+                       state_name[state]);
 
        return sysfs_emit(buf, "unknown state\n");
 }
-- 
2.50.1


Reply via email to