diff options
author | Wen Xiong <wenxiong@linux.vnet.ibm.com> | 2021-06-25 05:11:25 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2021-06-29 23:46:08 +0300 |
commit | 7df47cdf199c2d014716d1baa252aa6021063443 (patch) | |
tree | 46a111b3e53d90bd3f17d69b949d65bfaffc670f /drivers/scsi/ipr.c | |
parent | 104739aca4488909175e9e31d5cd7d75b82a2046 (diff) |
scsi: ipr: System crashes when seeing type 20 error
Test team saw "4041: Incomplete multipath connection between enclosure and
device" when I/O drawers/drives have bad connections. System crashes when
handling these 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
Link: https://lore.kernel.org/r/1624587085-10073-1-git-send-email-wenxiong@linux.vnet.ibm.com
Acked-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r-- | drivers/scsi/ipr.c | 4 |
1 files changed, 2 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; } |