]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
platform/x86/amd/pmf: Use devm_mutex_init() for mutex initialization
authorShyam Sundar S K <Shyam-sundar.S-k@amd.com>
Wed, 19 Nov 2025 08:58:12 +0000 (14:28 +0530)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Thu, 27 Nov 2025 11:59:13 +0000 (13:59 +0200)
Replace mutex_init() with the devm_mutex_init(), to ensure proper mutex
cleanup during probe failure and driver removal.

Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Link: https://patch.msgid.link/20251119085813.546813-2-Shyam-sundar.S-k@amd.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/amd/pmf/core.c

index a6a5d416edf9fd963a65ac64441ff5363718166e..8fc293c9c5380d59eff463354a26ff799bc22d55 100644 (file)
@@ -465,9 +465,17 @@ static int amd_pmf_probe(struct platform_device *pdev)
        if (!dev->regbase)
                return -ENOMEM;
 
-       mutex_init(&dev->lock);
-       mutex_init(&dev->update_mutex);
-       mutex_init(&dev->cb_mutex);
+       err = devm_mutex_init(dev->dev, &dev->lock);
+       if (err)
+               return err;
+
+       err = devm_mutex_init(dev->dev, &dev->update_mutex);
+       if (err)
+               return err;
+
+       err = devm_mutex_init(dev->dev, &dev->cb_mutex);
+       if (err)
+               return err;
 
        apmf_acpi_init(dev);
        platform_set_drvdata(pdev, dev);
@@ -491,9 +499,6 @@ static void amd_pmf_remove(struct platform_device *pdev)
                amd_pmf_notify_sbios_heartbeat_event_v2(dev, ON_UNLOAD);
        apmf_acpi_deinit(dev);
        amd_pmf_dbgfs_unregister(dev);
-       mutex_destroy(&dev->lock);
-       mutex_destroy(&dev->update_mutex);
-       mutex_destroy(&dev->cb_mutex);
 }
 
 static const struct attribute_group *amd_pmf_driver_groups[] = {