OSDN Git Service

platform/x86/amd/pmf: Fix a missing cleanup path
authorMario Limonciello <mario.limonciello@amd.com>
Wed, 23 Aug 2023 18:54:21 +0000 (13:54 -0500)
committerHans de Goede <hdegoede@redhat.com>
Sat, 26 Aug 2023 10:25:56 +0000 (12:25 +0200)
On systems that support slider notifications but don't otherwise support
granular slider the SPS cleanup path doesn't run.

This means that loading/unloading/loading leads to failures because
the sysfs files don't get setup properly when reloaded.

Add the missing cleanup path.

Fixes: 33c9ab5b493a ("platform/x86/amd/pmf: Notify OS power slider update")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20230823185421.23959-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 57bf1a9..78ed3ee 100644 (file)
@@ -324,7 +324,8 @@ static void amd_pmf_init_features(struct amd_pmf_dev *dev)
 
 static void amd_pmf_deinit_features(struct amd_pmf_dev *dev)
 {
-       if (is_apmf_func_supported(dev, APMF_FUNC_STATIC_SLIDER_GRANULAR)) {
+       if (is_apmf_func_supported(dev, APMF_FUNC_STATIC_SLIDER_GRANULAR) ||
+           is_apmf_func_supported(dev, APMF_FUNC_OS_POWER_SLIDER_UPDATE)) {
                power_supply_unreg_notifier(&dev->pwr_src_notifier);
                amd_pmf_deinit_sps(dev);
        }