platform/x86/amd/pmf: Fix a suspend hang on Framework 13
authorMario Limonciello <mario.limonciello@amd.com>
Sat, 17 Feb 2024 00:52:16 +0000 (18:52 -0600)
committerHans de Goede <hdegoede@redhat.com>
Mon, 19 Feb 2024 12:36:46 +0000 (13:36 +0100)
The buffer is cleared in the suspend handler but used in
the delayed work for amd_pmf_get_metrics().

Stop clearing it to fix the hang.

Reported-by: Trolli Schmittlauch <t.schmittlauch@orlives.de>
Closes: https://lore.kernel.org/regressions/ed2226ff-257b-4cfd-afd6-bf3be9785474@localhost/
Closes: https://community.frame.work/t/kernel-6-8-rc-system-freezes-after-resuming-from-suspend-reproducers-wanted/45381
Fixes: 2b3a7f06caaf ("platform/x86/amd/pmf: Change return type of amd_pmf_set_dram_addr()")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20240217005216.113408-1-mario.limonciello@amd.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/amd/pmf/core.c

index 853158933510ed1aefc126fc82f3bfdff75aa0d6..4f734e049f4a46b60b139cf38ec7c7a2e193a4f6 100644 (file)
@@ -299,8 +299,6 @@ static int amd_pmf_suspend_handler(struct device *dev)
        if (pdev->smart_pc_enabled)
                cancel_delayed_work_sync(&pdev->pb_work);
 
-       kfree(pdev->buf);
-
        return 0;
 }