Messages in this thread | | | Subject | Re: [PATCH v1 5/6] scsi: ufs: Let host_sem cover the entire system suspend/resume | From | Bart Van Assche <> | Date | Thu, 13 May 2021 20:55:50 -0700 |
| |
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.
| |