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

Andre Tomt
2021-01-04T19:12:50Z

On 28.12.2020 13:50, Greg Kroah-Hartman wrote:
> From: Stylon Wang <stylon.wang@amd.com>
>
> 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.