Re: [Re] kernel panic during shutdown in v7.1+ with PREEMPT_RT
From: Bert Karwatzki
Date: Mon Jul 27 2026 - 06:17:34 EST
This can be fixed like this
struct dc_plane_state *dc_create_plane_state(const struct dc *dc)
{
struct dc_plane_state *plane_state;
DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC));
if (NULL == plane_state)
return NULL;
kref_init(&plane_state->refcount);
dc_plane_construct(dc->ctx, plane_state);
return plane_state;
}
I also found missing DC_RUN_WITH_PREEMPTION_ENABLED in an error path, I'm preparing
a patch for next-20260721 (next-20260722+ have broken reboot due to the mt7925 issue
mentioned above).
Also, is preempt_{disable,enable}() really necessary in DC_FPU_{BEGIN,END}?
Could migrate_{disable,enable}() be enough instead? This way we wouldn't need
DC_RUN_WITH_PREEMPTION_ENABLED at all(?).
Bert Karwatzki