scsi: ufs: Add clock ungating to a separate workqueue
UFS driver can receive a request during memory reclaim by kswapd. So when ufs driver puts the ungate work in queue, and if there are no idle workers, kthreadd is invoked to create a new kworker. Since kswapd task holds a mutex which kthreadd also needs, this can cause a deadlock situation. So ungate work must be done in a separate work queue with WQ__RECLAIM flag enabled.Such a workqueue will have a rescue thread which will be called when the above deadlock condition is possible. Change-Id: I91c5bff812be403addc98fbb8c620e67cf28f5d9 Signed-off-by:Vijay Viswanath <vviswana@codeaurora.org> [cang@codeaurora.org: resolved trivial merge conflicts] Signed-off-by:
Can Guo <cang@codeaurora.org>
Loading
Please register or sign in to comment