Message ID | cover.1613070911.git.asutoshd@codeaurora.org (mailing list archive) |
---|---|
Headers | show |
Series | Enable power management for ufs wlun | expand |
> > 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 ufs device lun -> ufs device wlun
> > > > 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 > ufs device lun -> ufs device wlun You might also want to consider, as a preliminary step in your series, reverting one or more of the recent "clear uac" patches, As you are nailing the root cause of the issues/live-lock they witnessed. Thanks, Avri