]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Use GFP_ATOMIC in dc_create_stream_for_sink
authorNatalie Vock <natalie.vock@gmx.de>
Mon, 23 Feb 2026 11:45:37 +0000 (12:45 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 25 Feb 2026 22:56:22 +0000 (17:56 -0500)
This can be called while preemption is disabled, for example by
dcn32_internal_validate_bw which is called with the FPU active.

Fixes "BUG: scheduling while atomic" messages I encounter on my Navi31
machine.

Signed-off-by: Natalie Vock <natalie.vock@gmx.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit b42dae2ebc5c84a68de63ec4ffdfec49362d53f1)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/dc/core/dc_stream.c

index 246893d80f1fd06761cd0d50f445445f54f18268..baf820e6eae85d1d766e47aa6857dcad5ab36b69 100644 (file)
@@ -170,11 +170,11 @@ struct dc_stream_state *dc_create_stream_for_sink(
        if (sink == NULL)
                goto fail;
 
-       stream = kzalloc_obj(struct dc_stream_state);
+       stream = kzalloc_obj(struct dc_stream_state, GFP_ATOMIC);
        if (stream == NULL)
                goto fail;
 
-       stream->update_scratch = kzalloc((int32_t) dc_update_scratch_space_size(), GFP_KERNEL);
+       stream->update_scratch = kzalloc((int32_t) dc_update_scratch_space_size(), GFP_ATOMIC);
        if (stream->update_scratch == NULL)
                goto fail;