> > > On 9/23/24 7:17 PM, Seunghwan Baek wrote:> That's because SSU (Start > > > Stop > > > Unit) command must be sent during > > > > shutdown process. If SDEV_OFFLINE is set for wlun, SSU command > > > > cannot be sent because it is rejected by the scsi layer. > > > > Therefore, we consider to set SDEV_QUIESCE for wlun, and set > > > > SDEV_OFFLINE for other lus. > > > Right. Since ufshcd_wl_shutdown() is expected to stop all DMA > > > related to the UFS host, shouldn't there be a > > > scsi_device_quiesce(sdev) call after the __ufshcd_wl_suspend(hba, > UFS_SHUTDOWN_PM) call? > > > > > > Thanks, > > > > > > Bart. > > > > Yes. __ufshcd_wl_suspend(hba, UFS_SHUTDOWN_PM) should be called after > > scsi_device_quiesce(sdev). Generally, the SSU command is the last > > command before UFS power off. Therefore, if __ufshcd_wl_suspend is > > performed before scsi_device_quiesce, other commands may be performed > > after the SSU command and UFS may not guarantee the operation of the > > SSU command, which may cause other problems. This order must be > guaranteed. > > > > And with SDEV_QUIESCE, deadlock issue cannot be avoided due to requeue. > > We need to return the i/o error with SDEV_OFFLINE to avoid the > > mentioned deadlock problem. > > (+ more CC added.) > Dear All. > > Could you please update for this patch? > If you have any opinions about this patch, share and comment it. > > Thanks. > BRs. Looks good to me. Thanks. Kiwoong Kim.