> From: "Alexey E. Suslikov" <alexey.susli...@gmail.com> > Date: Fri, 3 Feb 2012 15:41:23 +0000 (UTC) > > Theo de Raadt <deraadt <at> cvs.openbsd.org> writes: > > > > --- pcidump_before Tue Jan 31 18:10:04 2012 > > > +++ pcidump_after Tue Jan 31 18:33:01 2012 > > > @@ -159,7 +159,7 @@ > > > 0x0014: 00000000 > > > 0x0018: Primary Bus: 0 Secondary Bus: 2 Subordinate Bus: 2 > > > Secondary Latency Timer: 00 > > > - 0x001c: I/O Base: f0 I/O Limit: 00 Secondary Status: 2000 > > > + 0x001c: I/O Base: f0 I/O Limit: 00 Secondary Status: 0000 > > > 0x0020: Memory Base: f240 Memory Limit: f240 > > > 0x0024: Prefetch Memory Base: fff1 Prefetch Memory Limit: 0001 > > > 0x0028: Prefetch Memory Base Upper 32 Bits: 00000000 > > > > That is unrelated. > > If I'm not mistaken, PCI_COMMAND_STATUS_REG is saved in pci.c/pci_suspend. > Also, > there is a special note: > > /* > * Only handle header type 0 here; PCI-PCI bridges and > * CardBus bridges need special handling, which will > * be done in their specific drivers. > */ > > Given pcidump diffs above, isn't it because Secondary Status Register wasn't > saved during suspend (I haven't found any in ppb.c/ppbactivate)?
The status bits can't be restored; they can only be cleared.