Dismissed
(max. allowed matches exceeded)
Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
drm/amd/display: Fix ISM dc_lock deadlock during suspend
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Fix ISM dc_lock deadlock during suspend [Why] System hang observed during suspend/resume while video is playing. amdgpu_dm_ism_disable() is called under dc_lock and waits for ISM delayed work via disable_delayed_work_sync(). The work handlers themselves take dc_lock, producing an ABBA deadlock when a worker is in flight at suspend time. [How] Split the disable path into two phases with opposite locking contracts: 1. amdgpu_dm_ism_disable() -- quiesces workers, must NOT hold dc_lock. 2. amdgpu_dm_ism_force_full_power() (new) -- drives the ISM FSM back to FULL_POWER_RUNNING, must hold dc_lock.
References
Affected products
Linux
- <7.1.6
- =<*
- <3714fe242592e3699ac5e2c19d68b275a210be7d
- =<7.1.*
- <95776812e6b8f908563e8994d5d947b68baf68a6