Re: [PATCH v1 5/6] scsi: ufs: Let host_sem cover the entire system suspend/resume

From: Bart Van Assche
Date: Thu May 13 2021 - 23:58:23 EST


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.