All of lore.kernel.org
 help / color / mirror / Atom feed
From: wenxiong@linux.vnet.ibm.com
To: jejb@linux.ibm.com
Cc: linux-scsi@vger.kernel.org, brking1@linux.vnet.ibm.com,
	wenxiong@us.ibm.com, Wen Xiong <wenxiong@linux.vnet.ibm.com>
Subject: [PATCH 1/1] ipr: system crashes when seeing type 20 error
Date: Thu, 24 Jun 2021 21:11:25 -0500	[thread overview]
Message-ID: <1624587085-10073-1-git-send-email-wenxiong@linux.vnet.ibm.com> (raw)

From: Wen Xiong <wenxiong@linux.vnet.ibm.com>

Test team saw "4041: Incomplete multipath connection between enclosure
and device" when IO drawers/drives have bad connections. System crashes
when handling this type 20 errors.

[    5.332452] ipr: 3/00-06-09: 4041: Incomplete multipath connection between enclosure and device
[    5.332460] ipr: 3/00-06-09: The IOA failed to detect an expected path to a device
[    5.332465] ipr: 3/00-06-09: Inactive path is failed: Resource Path=3/00-04-09
[    5.332471] ipr: 3/00-06-09: Functional IOA port: Resource Path=3/00-04, Link rate=unknown, WWN=5005076059C38E05
[    5.332478] ipr: 3/00-06-09: Incorrectly connected Device LUN: Resource Path=3/00-00-00-00-00-00-00-00-00-20-00-00-24-00-00-00-0, Link rate=unknown, WWN=0020000024000000
[    5.332487] ipr: 3/00-06-09: Path element=FF: Resource Path=3/50-05-07-60-45-56-5A-9C-00-00-00-00-00-00-00-00-0, Link rate=unknown WWN=0000000000000000
[    5.332492] ipr: 00000000: 54520EC8 00000000 00000000 4E532050
[    5.332495] ipr: 00000010: 45522054 49434B3D 00000050 278130E6
[    5.332498] ipr: 00000020: 033B5300 03282584 4C4D00E0 278039F3
[    5.332501] ipr: 00000030: 033B5180 03282404 4C4D00E0 276A0282
[    5.332504] ipr: 00000040: 033B5000 03281E04 447000E0 27697D19
[    5.332507] ipr: 00000050: 033B4E80 03281D84 447000E0 27690524
[    5.332509] ipr: 00000060: 033B4D00 03281C84 447000E0 27687FDA
[    5.332512] ipr: 00000070: 033B4B80 03281C04 447000E0 2767E787
[    5.332515] ipr: 00000080: 033B4A00 03281B04 447000E0 27674F0A

Signed-off-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>

---
 drivers/scsi/ipr.c | 4 ++--
 drivers/scsi/ipr.h | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 30c30a1db5b1..5d78f7e939a3 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -1300,7 +1300,7 @@ static char *__ipr_format_res_path(u8 *res_path, char *buffer, int len)
 
 	*p = '\0';
 	p += scnprintf(p, buffer + len - p, "%02X", res_path[0]);
-	for (i = 1; res_path[i] != 0xff && ((i * 3) < len); i++)
+	for (i = 1; res_path[i] != 0xff && i < IPR_RES_PATH_BYTES; i++)
 		p += scnprintf(p, buffer + len - p, "-%02X", res_path[i]);
 
 	return buffer;
@@ -1323,7 +1323,7 @@ static char *ipr_format_res_path(struct ipr_ioa_cfg *ioa_cfg,
 
 	*p = '\0';
 	p += scnprintf(p, buffer + len - p, "%d/", ioa_cfg->host->host_no);
-	__ipr_format_res_path(res_path, p, len - (buffer - p));
+	__ipr_format_res_path(res_path, p, len - (p - buffer));
 	return buffer;
 }
 
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
index 783ee03ad9ea..69444d21fca1 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -428,6 +428,7 @@ struct ipr_config_table_entry64 {
 	__be64 lun;
 	__be64 lun_wwn[2];
 #define IPR_MAX_RES_PATH_LENGTH		48
+#define IPR_RES_PATH_BYTES		8
 	__be64 res_path;
 	struct ipr_std_inq_data std_inq_data;
 	u8 reserved2[4];
-- 
2.27.0


             reply	other threads:[~2021-06-25  3:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-25  2:11 wenxiong [this message]
2021-06-29 17:33 ` [PATCH 1/1] ipr: system crashes when seeing type 20 error Brian King
2021-06-29 20:46 ` Martin K. Petersen
  -- strict thread matches above, loose matches on Subject: below --
2021-06-22 21:07 wenxiong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1624587085-10073-1-git-send-email-wenxiong@linux.vnet.ibm.com \
    --to=wenxiong@linux.vnet.ibm.com \
    --cc=brking1@linux.vnet.ibm.com \
    --cc=jejb@linux.ibm.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=wenxiong@us.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.