Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
754003486c3cc95f2fcb9d6b71a779047d6db95c to < 95776812e6b8f908563e8994d5d947b68baf68a6affected754003486c3cc95f2fcb9d6b71a779047d6db95c to < 3714fe242592e3699ac5e2c19d68b275a210be7daffected
Linux Linux
Default version status: affected
7.1affected0 to < 7.1unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected