On Friday 07 August 2009, Jesse Barnes wrote: > On Wed, 5 Aug 2009 16:46:39 +0800 > Alek Du <alek.du@xxxxxxxxx> wrote: > > > From f701d50e53d794309d92980ffa77d54606d44601 Mon Sep 17 00:00:00 2001 > > From: Alek Du <alek.du@xxxxxxxxx> > > Date: Wed, 5 Aug 2009 15:25:26 +0800 > > Subject: [PATCH] pci: check saved state before restore > > > > 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. > > > > Signed-off-by: Alek Du <alek.du@xxxxxxxxx> > > --- > > drivers/pci/pci.c | 2 ++ > > 1 files changed, 2 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > > index dbd0f94..7b70312 100644 > > --- a/drivers/pci/pci.c > > +++ b/drivers/pci/pci.c > > @@ -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); > > If we check here, we can probably remove some of the checks in the > suspend/resume paths. Rafael? Well, I don't really think the patch is correct, because pci_restore_state() is not only used for PM. Namely, pci_reset_function() uses it. Best, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html