On Thu, 15 Jun 2006, Pavel Machek wrote: > > To have DMAs stopped, you need to "freeze" the devices. No you don't. You need to stop the high-level _queues_, but that's something totally different from actually stopping the _devices_. So, for example, you want to make sure that nobody is writing to the disk cache, or reading from the disk, or writing to it (apart from the thing that writes the image, of course) any more. But that's fundamental: and it has absolutely zero to do with device suspend (although you do want to tell the device about it - a number of devices that do polling even in the absense of user input should probably take the hint from "save your state"). The fact that you equate "suspend the devices" with "stop doing IO" shows how you think at the wrong level. The "stop doing IO" is at a much higher level. Linus