]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI/sysfs: Use runtime PM guard macro for auto-cleanup
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 26 Sep 2025 16:24:05 +0000 (18:24 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 29 Sep 2025 15:01:47 +0000 (17:01 +0200)
Use the newly introduced pm_runtime_active_try guard to simplify
the code and add the proper error handling for PM runtime resume
errors.

Based on an earlier patch from Takashi Iwai <tiwai@suse.de> [1].

Link: https://patch.msgid.link/20250919163147.4743-3-tiwai@suse.de
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
drivers/pci/pci-sysfs.c

index 5eea14c1f7f5f704d43eed7e3a6d6136a4920679..c96301026f014edae7fbd880fa1c32cbf4bb15f6 100644 (file)
@@ -1475,8 +1475,9 @@ static ssize_t reset_method_store(struct device *dev,
                return count;
        }
 
-       pm_runtime_get_sync(dev);
-       struct device *pmdev __free(pm_runtime_put) = dev;
+       ACQUIRE(pm_runtime_active_try, pm)(dev);
+       if (ACQUIRE_ERR(pm_runtime_active_try, &pm))
+               return -ENXIO;
 
        if (sysfs_streq(buf, "default")) {
                pci_init_reset_methods(pdev);