On 5/12/21 10:55 PM, Can Guo wrote: > UFS error handling now is doing more than just re-probing, but also sending > scsi cmds, e.g., for clearing UACs, and recovering runtime PM error, which > may change runtime status of scsi devices. To protect system suspend/resume > from being disturbed by error handling, move the host_sem from wl pm ops > to ufshcd_suspend_prepare() and ufshcd_resume_complete(). In ufshcd.h I found the following: * @host_sem: semaphore used to serialize concurrent contexts That's the wrong way to use a synchronization object. A synchronization object must protect data instead of code. Does host_sem perhaps need to be split into multiple synchronization objects? Thanks, Bart.