[PATCH] scsi: megaraid_sas: fix kdump kernel boot hung caused by JBOD
From: xiakaixu1987
Date: Thu May 28 2020 - 03:32:09 EST
From: Xiaoming Gao <newtongao@xxxxxxxxxxx>
when kernel crash, and kexec into kdump kernel, megaraid_sas will hung and
print follow error logs
24.1485901 sd 0:0:G:0: [sda 1 tag809 BRCfl Debug mfi stat 0x2(1, data len requested/conpleted 0X100
0/0x0)]
24.1867171 sd 0:0:G :9: [sda I tag861 BRCfl Debug mfft stat 0x2d, data len reques ted/conp1e Led 0X100
0/0x0]
24.2054191 sd 0:O:6:O: [sda 1 tag861 FAILED Result: hustbyte=DIDGK drioerbyte-DRIUCR SENSE]
24.2549711 bik_update_ request ! 1/0 error , dev sda, sector 937782912 op 0x0:(READ) flags 0x0 phys_seg 1 prio class
21.2752791 buffer_io_error 2 callbacks suppressed
21.2752731 Duffer IO error an dev sda, logical block 117212064, async page read
this bug is caused by commit '59db5a931bbe73f ("scsi: megaraid_sas: Handle sequence JBOD map failure at
driver level
")'
and can be fixed by not set JOB when reset_devices on
Signed-off-by: Xiaoming Gao <newtongao@xxxxxxxxxxx>
---
drivers/scsi/megaraid/megaraid_sas_fusion.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c
index b2ad965..24e7f1b 100644
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
@@ -3127,7 +3127,7 @@ static void megasas_build_ld_nonrw_fusion(struct megasas_instance *instance,
<< MR_RAID_CTX_RAID_FLAGS_IO_SUB_TYPE_SHIFT;
/* If FW supports PD sequence number */
- if (instance->support_seqnum_jbod_fp) {
+ if (!reset_devices && instance->support_seqnum_jbod_fp) {
if (instance->use_seqnum_jbod_fp &&
instance->pd_list[pd_index].driveType == TYPE_DISK) {
--
1.8.3.1