Skip to content

Commit b875fb3

Browse files
icklejnikula
authored andcommitted
drm/i915: Free all DMC payloads
Free all the DMC payloads, not just DMC_MAIN. unreferenced object 0xffff88ff32d4d800 (size 1024): comm "kworker/1:5", pid 701, jiffies 4294904239 (age 109.736s) hex dump (first 32 bytes): 40 40 00 0c 03 00 00 00 00 00 00 00 00 00 00 00 @@.............. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<00000000ba9d0d95>] dmc_load_work_fn+0x34d/0x510 [i915] [<000000001049fcab>] process_one_work+0x261/0x550 [<00000000eeb995ac>] worker_thread+0x49/0x3c0 [<0000000021031dc3>] kthread+0x10b/0x140 [<000000004a0f69ee>] ret_from_fork+0x1f/0x30 unreferenced object 0xffff88ff0bde4000 (size 1024): comm "kworker/0:3", pid 708, jiffies 4294904469 (age 108.816s) hex dump (first 32 bytes): 40 40 00 0c 01 00 00 00 00 00 00 00 00 00 00 00 @@.............. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<00000000ba9d0d95>] dmc_load_work_fn+0x34d/0x510 [i915] [<000000001049fcab>] process_one_work+0x261/0x550 [<00000000eeb995ac>] worker_thread+0x49/0x3c0 [<0000000021031dc3>] kthread+0x10b/0x140 [<000000004a0f69ee>] ret_from_fork+0x1f/0x30 Fixes: 3d5928a ("drm/i915/xelpd: Pipe A DMC plugging") Cc: Anusha Srivatsa <[email protected]> Cc: José Roberto de Souza <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Lucas De Marchi <[email protected]> Reviewed-by: José Roberto de Souza <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 064b877) Signed-off-by: Jani Nikula <[email protected]>
1 parent f9b23c1 commit b875fb3

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/gpu/drm/i915/display/intel_dmc.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -805,11 +805,14 @@ void intel_dmc_ucode_resume(struct drm_i915_private *dev_priv)
805805
*/
806806
void intel_dmc_ucode_fini(struct drm_i915_private *dev_priv)
807807
{
808+
int id;
809+
808810
if (!HAS_DMC(dev_priv))
809811
return;
810812

811813
intel_dmc_ucode_suspend(dev_priv);
812814
drm_WARN_ON(&dev_priv->drm, dev_priv->dmc.wakeref);
813815

814-
kfree(dev_priv->dmc.dmc_info[DMC_FW_MAIN].payload);
816+
for (id = 0; id < DMC_FW_MAX; id++)
817+
kfree(dev_priv->dmc.dmc_info[id].payload);
815818
}

0 commit comments

Comments
 (0)