kernel-ark/drivers/pci
Shaohua Li 2449e06a56 PCI: reset pci device state to unknown state for resume
Considering below scenario:
1.Unload a PCI device's driver, the device ->current remains in PCI_D0.
2.Do suspend/resume circle. After that, BIOS puts the device to D3.
3.Reload the device driver. The calling pci_set_power_state in the
driver can't change the state to D0, as set_power_state thinks the
device is already in D0.

A bug is reported at http://bugzilla.kernel.org/show_bug.cgi?id=6024
Pat attached a patch at
http://marc.theaimsgroup.com/?l=linux-pci&m=114049761428561&w=2 for this
issue, but it's lost. As pci_set_power_state can handle D3 -> D0
correctly (restore config space), I simplified Patrick's patch.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Cc: Patrick Mochel <mochel@digitalimplant.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-10-27 11:20:33 -07:00
..
hotplug acpiphp: fix latch status 2006-10-27 11:20:32 -07:00
pcie PCI: fix pcie_portdrv_restore_config undefined without CONFIG_PM error 2006-10-18 11:36:11 -07:00
.gitignore Add some basic .gitignore files 2005-10-18 08:26:15 -07:00
access.c [PATCH] PCI: drivers/pci/: small cleanups 2005-11-10 16:09:18 -08:00
bus.c PCI: fix __must_check warnings 2006-09-26 17:43:53 -07:00
hotplug.c [PATCH] driver core: replace "hotplug" by "uevent" 2006-01-04 16:18:08 -08:00
htirq.c [PATCH] htirq: tidy up the htirq code 2006-10-04 07:55:30 -07:00
Kconfig [PATCH] HT_IRQ must depend on PCI 2006-10-11 11:14:23 -07:00
Makefile [PATCH] htirq: tidy up the htirq code 2006-10-04 07:55:30 -07:00
msi.c PCI: Improve pci_msi_supported() comments 2006-10-18 11:36:11 -07:00
msi.h [PATCH] msi: refactor and move the msi irq_chip into the arch code 2006-10-04 07:55:29 -07:00
pci-acpi.c [PATCH] PCI ACPI: Rename the functions to avoid multiple instances. 2006-06-21 11:59:59 -07:00
pci-driver.c PCI: reset pci device state to unknown state for resume 2006-10-27 11:20:33 -07:00
pci-sysfs.c PCI: fix __must_check warnings 2006-09-26 17:43:53 -07:00
pci.c PCI: Restore PCI Express capability registers after PM event 2006-09-26 17:43:53 -07:00
pci.h MSI: Cleanup existing MSI quirks 2006-09-26 17:43:52 -07:00
probe.c PCI: optionally sort device lists breadth-first 2006-10-18 11:36:12 -07:00
proc.c [PATCH] 64bit resource: change pci core and arch code to use resource_size_t 2006-06-27 09:24:00 -07:00
quirks.c PCI: fix pci_fixup_video as it blows up on sparc64 2006-10-27 11:20:33 -07:00
remove.c PCI: add pci_stop_bus_device 2006-09-26 17:43:54 -07:00
rom.c PCI: fix pci_fixup_video as it blows up on sparc64 2006-10-27 11:20:33 -07:00
search.c pci: Additional search functions 2006-10-18 11:36:12 -07:00
setup-bus.c [PATCH] fix "PCI: assign ioapic resource at hotplug" 2006-10-04 07:55:14 -07:00
setup-irq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup-res.c [PATCH] 64bit resource: change pci core and arch code to use resource_size_t 2006-06-27 09:24:00 -07:00
syscall.c [PATCH] PCI: Block config access during BIST 2005-10-28 15:36:58 -07:00