Messages in this thread | | | Date | Tue, 2 Jun 2020 20:12:25 +0800 | From | Kai Liu <> | Subject | Re: [PATCH] scsi: megaraid_sas: fix kdump kernel boot hung caused by JBOD |
| |
On 2020/05/28 Thu 15:31, xiakaixu1987@gmail.com wrote: >From: Xiaoming Gao <newtongao@tencent.com> > >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
I've recently run into this exact issue on a arm64 machine with Avago 3408 controller. This patch fixed the issue. Thank you.
Tested-by: Kai Liu <kai.liu@suse.com>
Best regards, Kai
> >Signed-off-by: Xiaoming Gao <newtongao@tencent.com> >--- > 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 >
| |