Re: [PATCH 5.10 637/717] drm/amd/display: Fix memory leaks in S3 resume
From: Andre Tomt
Date: Mon Jan 04 2021 - 14:12:51 EST
On 28.12.2020 13:50, Greg Kroah-Hartman wrote:
From: Stylon Wang <stylon.wang@xxxxxxx>
commit a135a1b4c4db1f3b8cbed9676a40ede39feb3362 upstream.
EDID parsing in S3 resume pushes new display modes
to probed_modes list but doesn't consolidate to actual
mode list. This creates a race condition when
amdgpu_dm_connector_ddc_get_modes() re-initializes the
list head without walking the list and results in memory leak.
This commit is causing me problems on 5.10.4: when I turn off the
display (a LG TV in this case), and turn it back on again later there is
no video output and I get the following in the kernel log:
[ 8245.259628] [drm:dm_restore_drm_connector_state [amdgpu]] *ERROR*
Restoring old state failed with -12
I've found another report on this commit as well:
https://bugzilla.kernel.org/show_bug.cgi?id=211033
And I suspect this is the same:
https://bugs.archlinux.org/task/69202
Reverting it from 5.10.4 makes things behave again.
Have not tested 5.4.86 or 5.11-rc.
I'm using a RX570 Polaris based card.