Message ID | 20220722142448.6289-1-djeffery@redhat.com |
---|---|
State | New |
Headers | show |
Series | scsi: mpt3sas: Stop fw fault watchdog work item during system shutdown | expand |
On Fri, Jul 22, 2022 at 7:55 PM David Jeffery <djeffery@redhat.com> wrote: > > During system shutdown or reboot, mpt3sas will reset the firmware back to > ready state. However, the driver leaves running a watchdog work item > intended to keep the firmware in operational state. This causes a second, > unneeded reset on shutdown and moves the firmware back to operational > instead of in ready state as intended. And if the mpt3sas_fwfault_debug > module parameter is set, this extra reset also panics the system. > > mpt3sas's scsih_shutdown needs to stop the watchdog before resetting the > firmware back to ready state. > > Fixes: fae21608c31c ("scsi: mpt3sas: Transition IOC to Ready state during shutdown") > Signed-off-by: David Jeffery <djeffery@redhat.com> > Tested-by: Laurence Oberman <loberman@redhat.com> Thanks for the patch. Ack-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com> > --- > drivers/scsi/mpt3sas/mpt3sas_scsih.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c > index b519f4b59d30..5e8887fa02c8 100644 > --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c > +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c > @@ -11386,6 +11386,7 @@ scsih_shutdown(struct pci_dev *pdev) > _scsih_ir_shutdown(ioc); > _scsih_nvme_shutdown(ioc); > mpt3sas_base_mask_interrupts(ioc); > + mpt3sas_base_stop_watchdog(ioc); > ioc->shost_recovery = 1; > mpt3sas_base_make_ioc_ready(ioc, SOFT_RESET); > ioc->shost_recovery = 0; > -- > 2.36.1 >
On Fri, 22 Jul 2022 10:24:48 -0400, David Jeffery wrote: > During system shutdown or reboot, mpt3sas will reset the firmware back to > ready state. However, the driver leaves running a watchdog work item > intended to keep the firmware in operational state. This causes a second, > unneeded reset on shutdown and moves the firmware back to operational > instead of in ready state as intended. And if the mpt3sas_fwfault_debug > module parameter is set, this extra reset also panics the system. > > [...] Applied to 5.19/scsi-fixes, thanks! [1/1] scsi: mpt3sas: Stop fw fault watchdog work item during system shutdown https://git.kernel.org/mkp/scsi/c/0fde22c5420e
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c index b519f4b59d30..5e8887fa02c8 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c @@ -11386,6 +11386,7 @@ scsih_shutdown(struct pci_dev *pdev) _scsih_ir_shutdown(ioc); _scsih_nvme_shutdown(ioc); mpt3sas_base_mask_interrupts(ioc); + mpt3sas_base_stop_watchdog(ioc); ioc->shost_recovery = 1; mpt3sas_base_make_ioc_ready(ioc, SOFT_RESET); ioc->shost_recovery = 0;