[linux-pm] [PATCH 1/3] PCI PM: Do not disable and enable bridges during suspend-resume

Rafael J. Wysocki rjw at sisk.pl
Sun Feb 8 05:23:08 PST 2009


On Sunday 08 February 2009, Pavel Machek wrote:
> Hi!
> 
> > > > their standard config spaces are restored.  Fix this by not attempting
> > > > to disable bridges during suspend and enable them during resume.
> > > ...
> > > > @@ -428,16 +428,18 @@ static int pci_pm_default_resume(struct 
> > > >  {
> > > >  	pci_fixup_device(pci_fixup_resume, pci_dev);
> > > >  
> > > > -	if (!pci_is_bridge(pci_dev))
> > > > -		pci_enable_wake(pci_dev, PCI_D0, false);
> > > > +	if (pci_is_bridge(pci_dev))
> > > > +		return 0;
> > > >  
> > > > +	pci_enable_wake(pci_dev, PCI_D0, false);
> > > >  	return pci_pm_reenable_device(pci_dev);
> > > >  }
> > > 
> > > Are you sure? This goes from doing reenable_device to not doing it for
> > > bridges, seemingly contradicting changelog?
> > 
> > Can you explain what you mean, please?
> 
> It looks to me like the patch does not match the changelog.
> 
> Changelog says "enable bridge during resume", but code does return 0
> if it seems bridge.

Ah, I see.  The changelog was supposed to mean that the bridges would not
be disabled during suspend and also would not be enabled during resume
(which shouldn't be necessary, since they would be automatically enabled
as a result of restoring their configuration registers).

Thanks,
Rafael


> 									Pavel


-- 
Everyone knows that debugging is twice as hard as writing a program
in the first place.  So if you're as clever as you can be when you write it,
how will you ever debug it? --- Brian Kernighan


More information about the linux-pm mailing list