On Thu, 15 Jun 2006, Linus Torvalds wrote: > In order for this to actually _work_, you need to have > > device_save_state(); > .. calls down to each device, saving their .. > .. state BUT NOT SUSPENDING THEM! .. > .. This phase can return an error, and can do .. > .. things like memory allocations. .. > > .. If an error happens here, we just return. We .. > .. do NOT "restore" any state, because there IS .. > .. NO STATE TO RESTORE - we've not actually .. > .. _changed_ anything .. > > .. In other words, for a regular PCI device .. > .. this function does "pci_save_state()". Not .. > .. _anything_ else! .. > > save_image_to_disk(); > .. NONE OF THE DEVICES ARE SUSPENDED! So all the .. > .. idiotic crap about trying to keep the "suspend .. > .. device" alive would be the obvious crap it is! .. How can you create a consistent memory image if devices are doing DMA into memory while the snapshot is in progress? Alan Stern