On Wed, 20 Jan 2021 02:04:20 -0800, Can Guo wrote:
This series is made based on 5.12/scsi-queue branch.
Current devfreq framework allows sysfs nodes like governor, min_freq and max_freq to be changed even after devfreq device is suspended.
Meanwhile, devfreq_suspend_device() cannot/wouldn't synchronize clock scaling which has already been invoked through devfreq sysfs nodes menitioned above.
It means that clock scaling invoked through these devfreq sysfs nodes can happen at any time regardless of the state of UFS host and/or device.
We need to control and synchronize clock scaling in this scenario.
[...]
Applied to 5.12/scsi-queue, thanks!
[1/3] scsi: ufs: Protect some contexts from unexpected clock scaling
https://git.kernel.org/mkp/scsi/c/0e9d4ca43ba8
[2/3] scsi: ufs: Refactor ufshcd_init/exit_clk_scaling/gating()
https://git.kernel.org/mkp/scsi/c/4543d9d78227
[3/3] scsi: ufs: Revert "Make sure clk scaling happens only when HBA is runtime ACTIVE"
https://git.kernel.org/mkp/scsi/c/b02d51afca00
--
Martin K. Petersen Oracle Linux Engineering