Эх сурвалжийг харах

PCI: sysfs: Resume to D0 on function reset

When performing a function reset via sysfs, the device's config space is
accessed in places such as pcie_flr() and its MMIO space is accessed e.g.
in reset_ivb_igd(), so ensure accessibility by resuming the device to D0.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Lukas Wunner 7 жил өмнө
parent
commit
82c3fbff6e

+ 2 - 0
drivers/pci/pci-sysfs.c

@@ -1449,7 +1449,9 @@ static ssize_t reset_store(struct device *dev, struct device_attribute *attr,
 	if (val != 1)
 	if (val != 1)
 		return -EINVAL;
 		return -EINVAL;
 
 
+	pm_runtime_get_sync(dev);
 	result = pci_reset_function(pdev);
 	result = pci_reset_function(pdev);
+	pm_runtime_put(dev);
 	if (result < 0)
 	if (result < 0)
 		return result;
 		return result;