]> git.baikalelectronics.ru Git - kernel.git/commit
PCI/PM: Fix proc config reg access for D3cold and bridge suspending
authorHuang Ying <ying.huang@intel.com>
Thu, 25 Oct 2012 01:36:03 +0000 (09:36 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 5 Nov 2012 17:46:23 +0000 (10:46 -0700)
commita7e0982fdfcf93e4b8a094943e16f1b7a01f4e78
tree9c035788cf5a2f5fcf897f3fe63c32064bdef255
parent88b3b7a69d5c0f042d9296cf0b40e50b7a8da10d
PCI/PM: Fix proc config reg access for D3cold and bridge suspending

In https://bugzilla.kernel.org/show_bug.cgi?id=48981
Peter reported that /proc/bus/pci/??/??.? does not work for 3.6.
This is because the device configuration space registers are
not accessible if the corresponding parent bridge is suspended or
the device is put into D3cold state.

This is the same as /sys/bus/pci/devices/0000:??:??.?/config access
issue.  So the function used to solve sysfs issue is used to solve
this issue.

This patch moves pci_config_pm_runtime_get()/_put() from pci/pci-sysfs.c
to pci/pci.c and makes them extern so they can be used by both the
sysfs and proc paths.

[bhelgaas: changelog, references, reporters]
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=48981
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=49031
Reported-by: Forrest Loomis <cybercyst@gmail.com>
Reported-by: Peter <lekensteyn@gmail.com>
Reported-by: Micael Dias <kam1kaz3@gmail.com>
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
CC: stable@vger.kernel.org # v3.6+
drivers/pci/pci-sysfs.c
drivers/pci/pci.c
drivers/pci/pci.h
drivers/pci/proc.c