On 01/04/2022 1.34, Bart Van Assche wrote: > Quiescing LUNs falls outside the scope of a shutdown callback. The shutdown > callback is called from inside the reboot() system call and the reboot() > system call is called after user space has stopped accessing block devices. > Hence this patch that removes the quiescing calls from > ufshcd_wl_shutdown(). This patch makes shutdown faster since multiple > synchronize_rcu() calls are removed. AFAIK there is nothing stopping shutdown being called during intense UFS I/O. What happens then? > > Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> > --- > drivers/scsi/ufs/ufshcd.c | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index a48362165672..ae08c7964f2d 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -9212,9 +9212,7 @@ static int ufshcd_wl_resume(struct device *dev) > static void ufshcd_wl_shutdown(struct device *dev) > { > struct scsi_device *sdev = to_scsi_device(dev); > - struct ufs_hba *hba; > - > - hba = shost_priv(sdev->host); > + struct ufs_hba *hba = shost_priv(sdev->host); > > down(&hba->host_sem); > hba->shutting_down = true; > @@ -9222,12 +9220,6 @@ static void ufshcd_wl_shutdown(struct device *dev) > > /* Turn on everything while shutting down */ > ufshcd_rpm_get_sync(hba); > - scsi_device_quiesce(sdev); > - shost_for_each_device(sdev, hba->host) { > - if (sdev == hba->sdev_ufs_device) > - continue; > - scsi_device_quiesce(sdev); > - } > __ufshcd_wl_suspend(hba, UFS_SHUTDOWN_PM); > } >