On 30/03/21 1:48 am, Asutosh Das (asd) wrote: > On 3/24/2021 6:39 PM, Asutosh Das wrote: >> This patch attempts to fix a deadlock in ufs while sending SSU. >> Recently, blk_queue_enter() added a check to not process requests if the >> queue is suspended. That leads to a resume of the associated device which >> is suspended. In ufs, that device is ufs device wlun and it's parent is >> ufs_hba. This resume tries to resume ufs device wlun which in turn tries >> to resume ufs_hba, which is already in the process of suspending, thus >> causing a deadlock. >> >> This patch takes care of: >> * Suspending the ufs device lun only after all other luns are suspended >> * Sending SSU during ufs device wlun suspend >> * Clearing uac for rpmb and ufs device wlun >> * Not sending commands to the device during host suspend >> >> v12 -> v13: >> - Addressed Adrian's comments >> * Paired pm_runtime_get_noresume() with pm_runtime_put() >> * no rpm_autosuspend for ufs device wlun >> * Moved runtime-pm init functionality to ufshcd_wl_probe() >> - Addressed Bart's comments >> * Expanded abbrevs in commit message >> > > Hi Adrian > I did a limited testing on your fix in the pm framework along with this v13 patchset. I couldn't reproduce the issue. > > I'd appreciate if you can please take a look at the v13 changes. > If all looks good in that, I'd do an extensive testing. I made a couple of comments on the patch, but nothing major.