On Wed, 2021-01-20 at 02:04 -0800, Can Guo wrote: > In contexts like suspend, shutdown and error handling, we need to suspend > devfreq to make sure these contexts won't be disturbed by clock scaling. > However, suspending devfreq is not enough since users can still trigger a > clock scaling by manipulating the devfreq sysfs nodes like min/max_freq and > governor even after devfreq is suspended. Moreover, mere suspending devfreq > cannot synchroinze a clock scaling which has already been invoked through > these sysfs nodes. Add one more flag in struct clk_scaling and wrap the > entire func ufshcd_devfreq_scale() with the clk_scaling_lock, so that we > can use this flag and clk_scaling_lock to control and synchronize clock > scaling invoked through devfreq sysfs nodes. > > Signed-off-by: Can Guo <cang@xxxxxxxxxxxxxx> Reviewed-by: Stanley Chu <stanley.chu@xxxxxxxxxxxx>