[PATCH 1/2] drm/radeon: Do not hold console lock while suspending clients
Alex Deucher
alexdeucher at gmail.com
Tue Jul 15 13:53:02 UTC 2025
Applied the series. Thanks!
Alex
On Tue, Jul 15, 2025 at 5:58 AM Thomas Zimmermann <tzimmermann at suse.de> wrote:
>
> The radeon driver holds the console lock while suspending in-kernel
> DRM clients. This creates a circular dependency with the client-list
> mutex, which is supposed to be acquired first. Reported when combining
> radeon with another DRM driver.
>
> Therefore, do not take the console lock in radeon, but let the fbdev
> DRM client acquire the lock when needed. This is what all other DRM
> drivers so.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> Reported-by: Jeff Johnson <jeff.johnson at oss.qualcomm.com>
> Closes: https://lore.kernel.org/dri-devel/0a087cfd-bd4c-48f1-aa2f-4a3b12593935@oss.qualcomm.com/
> Suggested-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> drivers/gpu/drm/radeon/radeon_device.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
> index bbd39348a7ab..6f50cfdfe5a2 100644
> --- a/drivers/gpu/drm/radeon/radeon_device.c
> +++ b/drivers/gpu/drm/radeon/radeon_device.c
> @@ -1635,11 +1635,9 @@ int radeon_suspend_kms(struct drm_device *dev, bool suspend,
> pci_set_power_state(pdev, PCI_D3hot);
> }
>
> - if (notify_clients) {
> - console_lock();
> - drm_client_dev_suspend(dev, true);
> - console_unlock();
> - }
> + if (notify_clients)
> + drm_client_dev_suspend(dev, false);
> +
> return 0;
> }
>
> --
> 2.50.0
>
More information about the dri-devel
mailing list