Sorry I should have been clear.
With the last two patches I sent out:
pci: Repair pci_save/restore_state so we can restore one save many times.
msi: Safer state caching.
Those WARN_ON's are now totally bogus.
In essence the WARN_ON's were testing to ensure pci_save_state and
pci_restore_state were paired.
The assumptions was that pci_restore_state would remove everything
from the list that pci_save_state placed on it.
When I reworked the code and removed the bogus pairing requirement it meant
that if we ever save state and have a pci-e or pci-x capability we will have
a state structure on the list until the kernel reboots.
In summary:
pci_save_state and pci_restore_state were making a wrong assumption
about the world. The WARN_ON patch tested to ensure the world matched
those functions. When I fixed those functions to match the world the
WARN_ON's became completely bogus.
Eric
-