drm/amd/display: Fix system hang after multiple hotplugs (v3)
authorQingqing Zhuo <qingqing.zhuo@amd.com>
Tue, 9 Feb 2021 21:36:41 +0000 (16:36 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Feb 2021 14:28:54 +0000 (09:28 -0500)
commitd7faf6f5347baec5cc774f3d46557f8782d87ee9
treeacff2d40429525841c059e521cd3cf0377c74d1c
parent1e3489136968a55be364f49633636030cc53860a
drm/amd/display: Fix system hang after multiple hotplugs (v3)

[Why]
mutex_lock() was introduced in dm_disable_vblank(), which could
be called in an IRQ context. Waiting in IRQ would cause issues
like kernel lockup, etc.

[How]
Handle code that requires mutex lock on a different thread.

v2: squash in compilation fix without CONFIG_DRM_AMD_DC_DCN (Alex)
v3: squash in warning fix (Wei)

Signed-off-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Acked-by: Bindu Ramamurthy <bindu.r@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h