remarkable-linux/drivers/pci
Huang Ying b3c32c4f95 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+
2012-11-05 10:46:23 -07:00
..
hotplug Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-06 03:16:12 +09:00
pcie PCI/PM: Fix deadlock when unbinding device if parent in D3cold 2012-11-02 10:07:17 -06:00
access.c PCI: Add accessors for PCI Express Capability 2012-08-23 09:41:20 -06:00
ats.c
bus.c PCI/PM: Fix deadlock when unbinding device if parent in D3cold 2012-11-02 10:07:17 -06:00
host-bridge.c
hotplug-pci.c PCI: hotplug: remove pci_do_scan_bus() 2012-06-13 15:42:27 -06:00
hotplug.c
htirq.c
ioapic.c
iov.c Revert "PCI: Use hotplug-safe pci_get_domain_bus_and_slot()" 2012-09-20 17:10:54 -06:00
irq.c
Kconfig PCI: Drop bogus default from ARCH_SUPPORTS_MSI 2012-09-10 16:49:52 -06:00
Makefile PCI: build resource code for M68K architecture 2012-07-13 09:40:37 -06:00
msi.c
msi.h
of.c
pci-acpi.c PCI / PM: Fix D3/D3cold/D4 messages printed by acpi_pci_set_power_state() 2012-08-15 11:46:18 -06:00
pci-driver.c PCI/PM: Resume device before shutdown 2012-11-02 16:57:18 -06:00
pci-label.c
pci-stub.c
pci-sysfs.c PCI/PM: Fix proc config reg access for D3cold and bridge suspending 2012-11-05 10:46:23 -07:00
pci.c PCI/PM: Fix proc config reg access for D3cold and bridge suspending 2012-11-05 10:46:23 -07:00
pci.h PCI/PM: Fix proc config reg access for D3cold and bridge suspending 2012-11-05 10:46:23 -07:00
probe.c Merge branch 'pci/yinghai-misc' into next 2012-09-24 17:24:11 -06:00
proc.c PCI/PM: Fix proc config reg access for D3cold and bridge suspending 2012-11-05 10:46:23 -07:00
quirks.c PCI: Wait for pending transactions to complete before 82599 FLR 2012-08-23 10:11:11 -06:00
remove.c PCI: Stop all children first, before removing all children 2012-09-20 17:37:23 -06:00
rom.c PCI: Remove unused, commented-out, code 2012-08-22 11:31:53 -06:00
search.c Merge branch 'pci/feng-avoid-kmalloc' into next 2012-09-10 16:31:08 -06:00
setup-bus.c PCI: Refactor pbus_size_mem() 2012-09-11 16:59:46 -06:00
setup-irq.c PCI: Provide a default pcibios_update_irq() 2012-09-18 17:28:21 -06:00
setup-res.c Merge branch 'pci/nikhil-big-bar-fixes' into next 2012-07-18 14:06:20 -06:00
slot.c
syscall.c
vpd.c
xen-pcifront.c Features: 2012-10-02 22:09:10 -07:00