Skip to content

Commit

Permalink
PCI: check saved state before restore
Browse files Browse the repository at this point in the history
Without the check, the config space may be filled with zeros. Though
the driver should try to avoid call restoring before saving, but the
pci layer also should check this.

Also removes the existing check in pci_restore_standard_config, since
it's superfluous with the new check in restore_state.

Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
  • Loading branch information
Alek Du authored and Jesse Barnes committed Aug 20, 2009
1 parent 6c30c53 commit c82f63e
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/pci/pci-driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ static int pci_restore_standard_config(struct pci_dev *pci_dev)
return error;
}

return pci_dev->state_saved ? pci_restore_state(pci_dev) : 0;
return pci_restore_state(pci_dev);
}

static void pci_pm_default_resume_noirq(struct pci_dev *pci_dev)
Expand Down
2 changes: 2 additions & 0 deletions drivers/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -846,6 +846,8 @@ pci_restore_state(struct pci_dev *dev)
int i;
u32 val;

if (!dev->state_saved)
return 0;
/* PCI Express register must be restored first */
pci_restore_pcie_state(dev);

Expand Down

0 comments on commit c82f63e

Please sign in to comment.