I don't see anything obviously wrong with this for things like UFS. Here's what some printk reveal for the Qualcomm platform in question: [ 50.659451] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_resume [ 50.669756] sd 0:0:0:0: sd_resume_runtime [ 52.911603] sd 0:0:0:0: sd_suspend_runtime [ 52.921707] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_suspend [ 53.472894] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_resume [ 53.481464] sd 0:0:0:0: sd_resume_runtime [ 55.550493] sd 0:0:0:0: sd_suspend_runtime [ 55.559697] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_suspend [ 58.595554] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_resume [ 58.607868] sd 0:0:0:0: sd_resume_runtime [ 60.667330] sd 0:0:0:0: sd_suspend_runtime [ 60.677623] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_suspend [ 63.714149] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_resume [ 63.724498] sd 0:0:0:0: sd_resume_runtime [ 65.772893] sd 0:0:0:0: sd_suspend_runtime [ 65.784696] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_suspend [ 68.836015] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_resume [ 68.849576] sd 0:0:0:0: sd_resume_runtime [ 71.359102] sd 0:0:0:0: sd_suspend_runtime [ 71.368928] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_suspend [ 73.955031] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_resume [ 73.963040] sd 0:0:0:0: sd_resume_runtime [ 76.032153] sd 0:0:0:0: sd_suspend_runtime [ 76.042100] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_suspend Looks like a 2-second autosuspend timeout somewhere, and the controller stays suspended for 1-3 seconds in between. > >> It almost sound like what we need to do here is suppress this message for the > >> runtime resume case, so something like: > > > > No, that would only make things worse as I assume you'd have a stopped > > disk message without a matching start message for driver that do end up > > stopping the disk here. > > OK. so let's revert this patch and I will rework that message to be displayed > only on device removal, system suspend and system shutdown. Sounds good. Johan