]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/radeon: make fence wait in suballocator uninterrruptable
authorAlex Deucher <alexander.deucher@amd.com>
Wed, 6 Sep 2023 19:55:17 +0000 (15:55 -0400)
committerChristian König <christian.koenig@amd.com>
Thu, 7 Sep 2023 15:45:34 +0000 (17:45 +0200)
Commit 254986e324ad ("drm/radeon: Use the drm suballocation manager implementation.")
made the fence wait in amdgpu_sa_bo_new() interruptible but there is no
code to handle an interrupt. This caused the kernel to randomly explode
in high-VRAM-pressure situations so make it uninterruptible again.

Fixes: 254986e324ad ("drm/radeon: Use the drm suballocation manager implementation.")
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2769
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
CC: stable@vger.kernel.org # 6.4+
CC: Simon Pilkington <simonp.git@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230906195517.1345717-1-alexander.deucher@amd.com
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/radeon/radeon_sa.c

index c87a57c9c592b41cc7a1a44b23bbc8da23817862..22dd8b4456855f9b78fd3c3d32f9978be4a4ed2d 100644 (file)
@@ -123,7 +123,7 @@ int radeon_sa_bo_new(struct radeon_sa_manager *sa_manager,
                     unsigned int size, unsigned int align)
 {
        struct drm_suballoc *sa = drm_suballoc_new(&sa_manager->base, size,
-                                                  GFP_KERNEL, true, align);
+                                                  GFP_KERNEL, false, align);
 
        if (IS_ERR(sa)) {
                *sa_bo = NULL;