]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/buddy: Modify duplicate list_splice_tail call
authorArunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Fri, 16 Feb 2024 10:00:48 +0000 (15:30 +0530)
committerChristian König <christian.koenig@amd.com>
Fri, 16 Feb 2024 12:03:14 +0000 (13:03 +0100)
Remove the duplicate list_splice_tail call when the
total_allocated < size condition is true.

Cc: <stable@vger.kernel.org> # 6.7+
Fixes: 8746c6c9dfa3 ("drm/buddy: Fix alloc_range() error handling code")
Reported-by: Bert Karwatzki <spasswolf@web.de>
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240216100048.4101-1-Arunpravin.PaneerSelvam@amd.com
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/drm_buddy.c

index c1a99bf4dffd1d221d9ca9e57d303d415acef00f..c4222b886db7caf509cfec615968e586cf16b316 100644 (file)
@@ -538,13 +538,13 @@ static int __alloc_range(struct drm_buddy *mm,
                list_add(&block->left->tmp_link, dfs);
        } while (1);
 
-       list_splice_tail(&allocated, blocks);
-
        if (total_allocated < size) {
                err = -ENOSPC;
                goto err_free;
        }
 
+       list_splice_tail(&allocated, blocks);
+
        return 0;
 
 err_undo: