From 10d2413277c589a885a0e67e59e8a7337ee1970b Mon Sep 17 00:00:00 2001 From: Tokunori Ikegami Date: Sun, 10 Mar 2024 13:44:45 +0900 Subject: [PATCH] nvme-print-stdout: Fix channel configuration descriptors pointer Set the address after NVM set EGSETS - 1 identifier parameter. Signed-off-by: Tokunori Ikegami --- nvme-print-stdout.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nvme-print-stdout.c b/nvme-print-stdout.c index 94b2a77d..fcf7d5fb 100644 --- a/nvme-print-stdout.c +++ b/nvme-print-stdout.c @@ -988,12 +988,12 @@ static void stdout_supported_cap_config_log(struct nvme_supported_cap_config_lis cap->cap_config_desc[i].egcd[j].end_est))); egsets = le16_to_cpu(cap->cap_config_desc[i].egcd[j].egsets); printf("Number of NVM Sets: %u\n", egsets); - for (k = 0; k < egsets; k++) { + for (k = 0; k < egsets; k++) printf("NVM Set %d Identifier: %u\n", i, - le16_to_cpu(cap->cap_config_desc[i].egcd[j].nvmsetid[k])); - } - chan_desc = (struct nvme_end_grp_chan_desc *) \ - ((cap->cap_config_desc[i].egcd[j].nvmsetid[0]) * (sizeof(__u16)*egsets)); + le16_to_cpu(cap->cap_config_desc[i].egcd[j].nvmsetid[k])); + + chan_desc = (struct nvme_end_grp_chan_desc *) + &cap->cap_config_desc[i].egcd[j].nvmsetid[egsets]; egchans = le16_to_cpu(chan_desc->egchans); printf("Number of Channels: %u\n", egchans); for (l = 0; l < egchans; l++) { -- 2.50.1