Thread (748 messages) 748 messages, 17 authors, 2021-01-05

Re: [PATCH 5.10 637/717] drm/amd/display: Fix memory leaks in S3 resume

From: Oleksandr Natalenko <hidden>
Date: 2021-01-04 20:11:03
Also in: lkml

On Mon, Jan 04, 2021 at 08:04:08PM +0100, Andre Tomt wrote:
On 28.12.2020 13:50, Greg Kroah-Hartman wrote:
quoted
From: Stylon Wang <redacted>

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
Uh, it seems you've just saved me a ton of gray hair. I have the very
same issue and I'm going to revert this patch now in order to check
whether it makes any difference.

Thanks!
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.
-- 
  Oleksandr Natalenko (post-factum)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help