forked from luck/tmp_suning_uos_patched
[PATCH] PCI: reverse pci config space restore order
According to Intel ICH spec, there are several rules that Base Address should be programmed before IOSE (PCICMD register ) enabled. For example ICH7: 12.1.3 SATA : the base address register for the bus master register should be programmed before this bit is set. 11.1.3: PCICMD (USB): The base address register for USB should be programmed before this bit is set. .... To make sure kernel code follow this rule , and prevent unnecessary confusion. I proposal this patch. Signed-off-by: Luming Yu <luming.yu@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
04d9c1a110
commit
8b8c8d280a
@ -463,7 +463,11 @@ pci_restore_state(struct pci_dev *dev)
|
||||
int i;
|
||||
int val;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
/*
|
||||
* The Base Address register should be programmed before the command
|
||||
* register(s)
|
||||
*/
|
||||
for (i = 15; i >= 0; i--) {
|
||||
pci_read_config_dword(dev, i * 4, &val);
|
||||
if (val != dev->saved_config_space[i]) {
|
||||
printk(KERN_DEBUG "PM: Writing back config space on "
|
||||
|
Loading…
Reference in New Issue
Block a user