Re: Suspend not working with SATA:

From: Jeff Garzik
Date: Mon Dec 15 2003 - 10:19:24 EST


Witold Krecicki wrote:
Stopping tasks: ==================================================================
stopping tasks failed (2 tasks remaining)
Restarting tasks...<6> Strange, katad-1 not stopped
Strange, katad-2 not stopped
done


Both Pavel Machek and I posted test patches to address this... basically, because of the design of swsusp, you must copy-n-paste the following code into every single kernel thread:

if (current->flags & PF_FREEZE)
refrigerator(PF_IOTHREAD);

But I consider suspend untested at best... for reboot and suspend the driver should issue flush-cache and other things beyond simply freezing the kernel thread. Further, suspending will suck if the kernel thread itself is the one doing I/O on behalf of the driver. This occurs if the transfer mode is PIO rather than DMA.

Jeff



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/