diff options
author | Shaohua Li <shaohua.li@intel.com> | 2006-10-20 14:45:32 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-10-27 11:20:33 -0700 |
commit | 2449e06a5696b7af1c8a369b04c97f3b139cf3bb (patch) | |
tree | 22ee432f869df8c703fb25035e06d4e92d56be7f /init/main.c | |
parent | 3095fc0c9772b4afb3c81f76664f341ef716d380 (diff) | |
download | linux-stable-2449e06a5696b7af1c8a369b04c97f3b139cf3bb.tar.gz linux-stable-2449e06a5696b7af1c8a369b04c97f3b139cf3bb.tar.bz2 linux-stable-2449e06a5696b7af1c8a369b04c97f3b139cf3bb.zip |
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>
Diffstat (limited to 'init/main.c')
0 files changed, 0 insertions, 0 deletions