--- drivers/pci/pci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: linux-2.6/drivers/pci/pci.c =================================================================== --- linux-2.6.orig/drivers/pci/pci.c +++ linux-2.6/drivers/pci/pci.c @@ -1063,7 +1063,9 @@ static void pci_restore_config_space(str pci_restore_config_space_range(pdev, 4, 9, 10); pci_restore_config_space_range(pdev, 0, 3, 0); } else { - pci_restore_config_space_range(pdev, 0, 15, 0); + /* Restore BARs before the command register. */ + pci_restore_config_space_range(pdev, 4, 15, 0); + pci_restore_config_space_range(pdev, 0, 3, 0); } }